2016-04-15 11 views
2

私はウェブサーバーを起動するためにnpmパッケージgulp-nodemonを使用しています。gulp-nodemonによるCLI引数の受け渡し

私が抱えている問題は、CLIの引数をサーバースクリプトに渡すことができないことです。私はこのような何か書きたい

:私はscript: 'server.coffee --argument1 value1' を書いてみました

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

gulp --argument1 value1

そしてnodemonはその後coffee server.coffee --argument1 value1

私の現在のnodemonタスクを呼び出す必要があります私は奇妙なエラーが発生しています: 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 

ありがとうございます。

+0

は、引数が固定されているか、あなたが(ないか)異なる引数を指定します同じように? –

+0

@RahatMahbub gulpに与えられた引数をサーバスクリプトに渡したい、 'gulp -argument1 value1'の結果が' coffee server.coffee --argument1 value1'になる –

+0

引数の数が限られている場合、 yargs'を使ってargとvalueをとり、nodemonに条件付きでnodeArgsを渡すことができます。 –

答えて

2

のための任意の引数を渡すこと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 
+0

ありがとう、それはperfekty働いた:D –

0

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() 

出典:Example gulpfile from gulp-nodemon

+1

これは悲しいことに、サーバのスクリプト自体ではなく、ノードの実行可能ファイルに渡される引数のためにうまくいくだけです。 –

関連する問題