2016-01-23 5 views
13

私はそれがbundle.jsにアクセスしようとすると、しかし、これは私のブラウザで404エラーを示しwebpack dev-serverの遅延モードとは何ですか?

webpack-dev-server --lazy --inline --progress --colors --port 8082 

と私のWebPACK-devのサーバーを実行しています。

--lazy--hotに置き換えても、問題なく動作します。

正確には--lazyはどうしますか?

アップデート:ここで

はWebPACKのファイルである -

module.exports = { 
    devtool: "source-map", 
    entry: [ 
     'webpack/hot/only-dev-server', // "only" prevents reload on syntax errors 
     "./app/main.js" 
    ], 
    output: { 
     path: "./js", 
     filename: "bundle.js" 
    }, 
    module: { 
     loaders: [ 
      { test: /\.css$/, loader: "style-loader!css-loader"}, 
      { test: /\.js$/, exclude: /node_modules/, loaders: ["react-hot"] } 
     ] 
    } 
}; 
+0

あなたはあなたのWebPACKの設定ファイルを表示することができますか? – Kote

+0

@Kote ok私は今それを – pdeva

答えて

2

いくつかのデバッグ後、私はif文webpack-dev-middlewareに(webpackDevMiddleware機能で)次があることを発見しました。これは、filenameの値にスラッシュ( "/bundle.js")が含まれているためです。だから、options.filenameの正規表現をこのスラッシュを許可するように変更し、問題を修正しました。

私はgithubの上のプル要求をした: https://github.com/webpack/webpack-dev-middleware/pull/62

0

レイジー・モードは、単純にすべての変更で再コンパイルしませんが、変更を確認するためのエントリポイントに代わりに次の呼び出しを待つ

+0

に追加しました。それではなぜ 'bundle.js'ファイルを提供していないのですか?起動時に最初はコンパイルしてはいけませんか? – pdeva

0

--lazyと--hotの違いは次のとおりです。

--lazy: no watching, compiles on request. 

--hot: adds the HotModuleReplacementPlugin and switch the server to hot mode. 

Al HotModuleReplacementPluginの詳細については、 https://github.com/webpack/docs/wiki/list-of-pluginsをご覧ください。

は参照してください:

// in lazy mode, rebuild on bundle request 
if(options.lazy && (!options.filename || options.filename.test(filename))) { 
    rebuild(); 
} 

options.filename.test(filename)遠かったがfalseを返すためrebuild()関数が実行されることはありません:http://webpack.github.io/docs/webpack-dev-server.html

+0

ここで「リクエスト」とは何ですか?ブラウザからのGETリクエスト? – pdeva

+0

はい、画像/ロゴ/ jsやCSSファイルなどのリソースをGETリクエストすることができます。 –

+0

その場合、私のブラウザは404 – pdeva

関連する問題