2016-04-10 5 views
0

最近私はwebpackを探索していましたが、私が正しく理解できなかったいくつかの事が出てきました。私は答えをたくさん見つけようとしましたが、適切な答えを得ることができませんでした。だからここに私の疑問があります:Webpackの高度な使い方

  1. 私たちはいつwebpack-dev-serverを使いますか?それは私のexpressコードを実行するサーバーのいくつかの並べ替えの場合、それは正常なexpressサーバーとはどのように違うのですか?

  2. webpack --watchを実行しているときにサーバサイドコードをデバッグするにはどうすればいいですか?

  3. 私は誰かのGitのレポを通じて行っていたと私は、このコードに出くわした:

    export default(DEBUG, PATH, PORT=9000) => ({ entry: (DEBUG ? [ 'webpack-dev-server/client?http://localhots:9000', 'webpack/hot/dev-server' ] : []). concat([ '.src/theme/theme.less', 'babel/polyfill', 'whatwg-fetch', './src/main' ]), output: { // some output path was given here. }, cache: DEBUG, debug: DEBUG, devtool: DEBUG && "eval-source-map", // some other modules and loaders were here. plugins: DEBUG ? [ new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin() ] : [ new webpack.DefinePlugin({'process.env.NODE_ENV': '"production"'}), new ExtractTextPlugin("style.css", {allChunks: false}), new webpack.optimize.DedupePlugin(), new webpack.optimize.UglifyJsPlugin({ compressor: {screw_ie8: true, keep_fnames: true, warnings: false}, mangle: {screw_ie8: true, keep_fnames: true} }), new webpack.optimize.OccurenceOrderPlugin(), new webpack.optimize.AggressiveMergingPlugin() ] })

    • 私は正確にentryで何が起こっているのか理解できませんでした。
    • このDEBUGとは何ですか、ほぼすべての場所で使用されています。

答えて

1

我々はWebPACKの-devのサーバーを使用していますか?私のエクスプレスコードを実行するサーバのようなものですか?はいの場合、通常のエクスプレスサーバとはどのように違いますか?

webpack-dev-middlewareを使用して、Expressの上に同様のものを作成できます。結局、webpack-dev-serverはこれを使用しています。プロキシ、html5履歴フォールバックなどの細かい点もあり、バンドルされています。 webpack-dev-serverは便宜上のものです。私はあなたがユーザーNode debuggerまたはnode-inspectorでし期待webpack --watch

を実行しているとき、私は、サーバー側のコードをデバッグするにはどうすればよい

私は誰かのGitのレポを通じて行っていたと私は、このコードに出くわした:...

あなたはHMRおよびデバッグ関連のビットが有効になってもらうように構成を制御するためにDEBUGを使用している著者のように見えますデバッグ(開発)用です。生産時にはそれらはスキップされます。インラインモードで実行している場合を除き、entry部分はwebpack-dev-serverに必要です。

同じ結果を得るには、他の方法があります。

+0

お返事ありがとうございます!私はまだ 'webpack -watch'を使うとかなりうまく動いていますが、なぜ' webpack-dev-server'が必要なのでしょうか? 'entry'で何が起こっているのか、' DEBUG'がどのようにHMRのconfigsを制御するのかをもう少し詳しく説明してください。 –

+1

'webpack-dev-server'は[HMR](https://webpack.github.io/docs/hot-module-replacement.html)で非常に便利です。 Esp。 ReactでLiveReloadよりも優れています'webpack --watch'がうまくいくなら、おそらくそれで十分でしょう。この場合、 'entry'設定は配列全体を単一のバンドルに連結します。 'DEBUG'をもっと詳しく説明するために、もっとコードを見る必要があります。おそらく、フラグを制御するために使用される別々のファイルがあります。 –

関連する問題