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

Posted

技术标签:

【中文标题】nodemon :作为必需模块使用时将参数传递给可执行文件【英文标题】:nodemon : Passing arguments to the executable when using as a required module 【发布时间】:2014-05-03 21:58:46 【问题描述】:

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

怎么做?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我建议将 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");
);

【讨论】:

以上是关于nodemon :作为必需模块使用时将参数传递给可执行文件的主要内容,如果未能解决你的问题,请参考以下文章

使用它时将参数传递给perl包

如何将函数作为参数传递给OpenSCAD模块?

如何将 JSON 返回数据作为参数传递给 URL 路由(laravel)

将视图作为参数传递给按钮,将其作为模态触发

如何将 html id 和名称作为参数传递给 dojo javascript 模块?

将列表作为参数传递给 Python C 模块?