如何通过带标志的gulp-nodemon启动节点?

时间:2016-07-08 18:17:51

标签: node.js gulp nodemon

如何通过带标志的gulp-nodemon启动节点?

gulp.task('default', function() {
    // listen for changes
    livereload.listen();
    // configure nodemon
    nodemon({
        // the script to run the app
        "script": 'server.js',
        "ignore": ["*.test.js", "logs/*"],
        "ext": 'js',
        env: { 'NODE_ENV': 'development', 'DEBUG':'*' },
    }).on('restart', function(){
        // when the app has restarted, run livereload.
        gulp.src('server.js')
            .pipe(livereload())
            .pipe(notify('Reloading page, please wait...'));
    })
})

我想用标志DEBUG = *启动它,以便将它与调试库一起使用。然而它不通过环境接受它。在脚本名称后添加它会导致错误。

如何在gulp脚本中向nodemon添加标志?

2 个答案:

答案 0 :(得分:0)

看看this issue。建议设置stdout: true或使用exec选项,即:

nodemon({
    ...
    exec: 'node DEBUG=*'
});

如果这不起作用,您可以尝试this issue中显示的选项argsnodeArgs,即:

nodemon({
    ...
    args: ['DEBUG=*']
});

我自己没有尝试过这些方法,但我希望他们会帮助我们。

答案 1 :(得分:0)

Debug不再使用标志,就像您可以在几篇博文中阅读它一样。它现在使用env变量。

nodemon({
    "script": 'server.js',
    "ignore": ["*.test.js", "logs/*"],
    "ext": 'js',
    "env": { 'NODE_ENV': 'development', 'DEBUG':'*' },
})

或通过在shell上使用env var运行它

DEBUG=* node server.js