【问题标题】:How to start node through gulp-nodemon with a flag?如何通过带有标志的 gulp-nodemon 启动节点?
【发布时间】:2016-11-11 09:38:15
【问题描述】:

如何通过带有标志的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=* 标志开始它,以便将它与调试库一起使用。但是它不通过 env 接受它。在脚本名称之后添加它会导致错误。

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

【问题讨论】:

    标签: node.js gulp nodemon


    【解决方案1】:

    调试不再使用标志,就像您可以在几篇博客文章中看到的那样。它现在改为使用环境变量。

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

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

    DEBUG=* node server.js
    

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

      • thx Jonas,刚刚更新了调试版本并意识到它现在不是使用标志,而是使用环境变量。
      • 好吧,我会这样回答,也许它会为其他人指明正确的方向。
      猜你喜欢
      • 2019-06-22
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      • 2016-08-07
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 2018-05-26
      相关资源
      最近更新 更多