通过 gulp-nodemon 传递 CLI 参数
Passing CLI arguments through gulp-nodemon
我正在使用 npm 包 gulp-nodemon 来启动我的网络服务器。
我遇到的问题是无法将 CLI 参数传递给我的服务器脚本。
我想写这样的东西:
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
是的,文件路径中有 "。这是日志:
[13:13:10] [nodemon] starting `coffee.cmd "server.coffee --argument1 value1"`
File not found: C:\Users\user\projectRoot\"server.coffee
谢谢。
根据 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()
使用args
为coffee
命令传递任何参数。这是在脚本文件名之后传递的参数。
使用 exec
将任何咖啡选项与 coffee
可执行文件一起传递。这些在脚本文件名之前传递。
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
哪个日志:
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
我正在使用 npm 包 gulp-nodemon 来启动我的网络服务器。
我遇到的问题是无法将 CLI 参数传递给我的服务器脚本。
我想写这样的东西:
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
是的,文件路径中有 "。这是日志:
[13:13:10] [nodemon] starting `coffee.cmd "server.coffee --argument1 value1"`
File not found: C:\Users\user\projectRoot\"server.coffee
谢谢。
根据 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()
使用args
为coffee
命令传递任何参数。这是在脚本文件名之后传递的参数。
使用 exec
将任何咖啡选项与 coffee
可执行文件一起传递。这些在脚本文件名之前传递。
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
哪个日志:
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