nodemon:在用作必需模块时将参数传递给可执行文件

时间:2014-03-25 20:03:38

标签: node.js nodemon

我正在尝试使用nodemon启动脚本,将其用作必需模块,但我无法正确传递参数。

例如,

var args = [ 
  process.argv[0], '--harmony', 
  '/path/to/script.js', '-i', 'logs'
];`

我希望脚本能够以:

启动
node --harmony /path/to/script.js -i logs

但它无法正常工作,而我所能得到的只是

node --harmony /path/to/script.js -i logs /path/to/script.js

这就是我的尝试:

var app = require('nodemon')({
    script: args[2],
    exec: args.join(' ')
});

我知道execMap,但这并不好,因为我无论如何都无法传递参数。

怎么做?

2 个答案:

答案 0 :(得分:8)

我建议使用gulp with nodemon

var argv = require('optimist').argv
    gulp = require("gulp"),
    nodemon = require("gulp-nodemon");

gulp.task("default", [], function(){
   nodemon({
       script: 'app.js',
       ignore: ["public/*"],
       env: {'NODE_ENV': 'development'},
       args: ["--port="+argv.port],
       exec: "node --harmony"
   }).on("start");
});

答案 1 :(得分:7)

浏览源代码,我找到了args配置选项(未记录的...)。事实证明这就是我所需要的。

var app = require('nodemon')({
  exec: args.slice(0, 2),
  script: args[2],
  args: args.slice(3)
});