11

我正在尝试使用 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,但这并不好,因为无论如何我都不能在最后传递参数。

如何做呢?

4

2 回答 2

11

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

var app = require('nodemon')({
  exec: args.slice(0, 2),
  script: args[2],
  args: args.slice(3)
});
于 2014-03-25T23:31:35.303 回答
7

我建议将 gulp 与 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");
});
于 2016-03-04T00:43:19.490 回答