通过gulp-nodemon传递CLI参数

我正在使用npm包gulp-nodemon来启动我的networking服务器。

我遇到的问题是我不能将CLIparameter passing给我的服务器脚本。

我想写这样的东西:

gulp --argument1 value1

然后nodemon应该调用coffee server.coffee --argument1 value1

我目前的nodemon任务:

 # nodemon development server gulp.task 'nodemonServer', () -> nodemon({ script: 'server.coffee' ext: 'coffee' watch: ['server/', 'server.coffee'] env: { 'NODE_ENV': 'development' } }) .on 'crash', () -> notifyServerError() 

我尝试写script: 'server.coffee --argument1 value1'但我得到一个奇怪的错误: File not found: C:\Users\user\projectRoot\"server.coffee

是的,与“在文件path。这里是日志:

 [13:13:10] [nodemon] starting `coffee.cmd "server.coffee --argument1 value1"` File not found: C:\Users\user\projectRoot\"server.coffee 

谢谢。

使用args传递coffee命令的任何参数。 这是通过脚本文件名后传递的agruments。

使用exec来传递任何咖啡选项以及coffee可执行文件。 这些通过BEFORE脚本文件名。

 var gulp = require('gulp'); var nodemon = require('gulp-nodemon'); gulp.task('nodemonServer', function () { nodemon({ script: 'server.coffee', exec: 'coffee -p', args: ['--argument','value1'], ext: 'coffee' , env: { 'NODE_ENV': 'development' } }) }) 

要查看nodemon使用的实际命令,请使用DEBUG=nodemon

DEBUG=nodemon gulp nodemonServer

日志logging:

  nodemon bus new listener: reset (0) +0ms nodemon bus new listener: reset (0) +6ms ... [13:47:20] [nodemon] starting `coffee -p server.coffee --arguments value1` nodemon spawning +0ms coffee -p server.coffee --arguments value1 

根据gulp-nodemon存储库中的一些示例,可以使用:

nodeArgs: ['--some-arg']

例如:

 # nodemon development server gulp.task 'nodemonServer', () -> nodemon({ script: 'server.coffee' ext: 'coffee' watch: ['server/', 'server.coffee'] env: { 'NODE_ENV': 'development' } nodeArgs: ['--argument1', 'value1'] }) .on 'crash', () -> notifyServerError() 

来源: gulp-nodemon的例子gulpfile