Ich schrieb ein Npm-Modul, das global installiert werden kann dm-npm.So starten Sie globale Npm-Modul mit Harmonie-Flag
Ich mag Co in diesem Modul zu verwenden.
Wie kann ich dem Modul mitteilen, dass es mit dem Harmony-Flag ausgeführt wird, wenn es global gestartet wird? Hier
ist die package.json:
{
"name": "dm-npm",
"version": "0.0.3",
"description": "npm helper",
"main": "index.js",
"scripts": {
"test": "mocha --reporter nyan",
"start": "node --harmony ./bin/dm-npm"
},
"repository": {
"type": "git",
"url": "https://github.com/divramod/dm-npm.git"
},
"keywords": [
"npm",
"template"
],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/divramod/dm-npm/issues"
},
"homepage": "https://github.com/divramod/dm-npm",
"devDependencies": {
"chai": "^2.1.0",
"mocha": "^2.1.0"
},
"dependencies": {
"co": "^4.4.0",
"co-prompt": "^1.0.0",
"colors": "~1.0.3",
"shelljs": "^0.3.0"
},
"bin": {
"dmnpm": "./bin/dm-npm"
}
}
ich bekam die folgende Fehlermeldung, wenn sie mit einer Co-Funktion ausgeführt wird:
> $ dmnpm init
/usr/local/lib/node_modules/dm-npm/index.js:152
co(function*() {
^
SyntaxError: Unexpected token *
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/local/lib/node_modules/dm-npm/bin/dm-npm:3:1)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
es verursacht wird, durch
co(function*() {
var projectName =
yield prompt('project name: '.blue);
process.stdin.pause();
});
Ein Modul kann nicht diktieren, welche Befehlszeilen Flags node.js mit gestartet wird. Wenn es das ist, was Sie fragen, dann muss der Benutzer des Moduls nur node.js mit der '--harmony'-Flagge starten und die Dokumentation Ihres Moduls muss sie nur darüber informieren. – jfriend00
Ich starte das Modul von der Kommandozeile aus. Ich habe einen Alias in meinem zshrc "alias node = 'node --harmony'" erstellt, aber ich habe das gleiche Problem. An welcher Stelle kann ich festlegen, dass der Knoten immer mit dem Harmony Flag läuft? – divramod