2017-04-03 22 views
1

私は開発中です。1つのディレクトリ以外のすべてのnode_modulesを無視するようにnodemonに指示する方法

このサーバーは私が開発している別のモジュールに依存しているため、そのモジュールを変更してもサーバーを再起動するといいでしょう。

まだベストの試み(!おかげで、bitstrider)

私は、誰もがそれをチェックアウトしたい場合は、最小限のコードでこの問題を再現するためにレポをした:https://github.com/shawninder/nodemon-troubles

ハイライトがnodemon.jsonにあります

{ 
    "ignoreRoot": [ 
    ".git", 
    ".nyc_output", 
    ".sass-cache", 
    "bower-components", 
    "coverage" 
    ], 
    "ignore": [ 
    "node_modules/!(is-node)", 
    "node_modules/is-node/node_modules" 
    ] 
} 
  • ignoreRootthe defaultsと同じであるが、無しnode_modules
  • ignoreここで私はnode_modulesを無視するように言っていますが、is-nodeではありません。

これはほとんどの場合(編集is-nodeはサーバーを再起動しますが)、is-nodeだけでなく、すべてのノードモジュールを監視しています。

nodemonに、ノードモジュール以外のすべてのノードモジュールを無視するように指示するにはどうすればよいですか?私はまたhttps://github.com/remy/nodemon/pull/922問題

Nodemonを説明する

を試みた、1.11.0

  • をnodemonの最新バージョンを使用してい

    詳細

    • それらを無視して1つの大きなレギュラに結合しますr式をchokidarに渡す前に。これは、正規表現に基づくカスタム解析アルゴリズムであり、グロブネゲートも正規表現構文もサポートしていません。

      /\.git|\.nyc_output|\.sass\-cache|bower\-components|coverage|node_modules\/!\(is\-node\)\/.*.*\/.*|node_modules\/is\-node\/node_modules\/.*.*\/.*/ 
      

      注意得られた正規表現でリテラル!として否定文字!端までたとえば、上記の例は、次の正規表現を生成します。コントロール文字がリテラル文字に変換されるため、ネガティブルックアヘッド構文も使用できません。

  • 答えて

    1

    nodemonはに従って、!という記号の否定を使用することができます。

    だからあなたの場合には、試してみてください。

    { 
        "ignore" : "node_modules/!(my-watched-module)/**/*" 
    } 
    

    これはmy-watched-module

    内NOTE以外のすべてのモジュールにファイルを無視する必要があります:ignoreルールここはファイルだけ、いないディレクトリを対象に。この動作は、ファイルの変更が監視されるため、nodemonのコンテキストで意味があります。

    +0

    すべきではありません。私の最新の試みでは、nodemon.jsonで以下を使用しています: '{" ignoreRoot:[".git"、 ".nyc_output"、 ".sass-cache"、 "bower-components"、 "coverage"] " ""私の見ているモジュールを正しく見ていて、私の見たモジュールのnode_modulesを見ていないのですが、しかし、まだ他のノードモジュールを見ている... – Shawn

    +0

    興味があれば問題を再現するレポへのリンクで私の質問を編集した – Shawn

    +0

    @Shawn私の更新された答えはあなたのために働くはず – bitstrider

    関連する問題