2017-08-08 107 views
0

我有一個新手問題。我正在看這tutorial快遞中的Webpack配置

app.use部分使用webpack與express。即webpack-dev-middleware和webpack-hot-middleware。我的問題是,我可以將這兩個配置放入webpack.config.js,而不是放在server.js中。如果我可以把它們放回webpack.config.js,爲什麼我把它們放在這裏?

在server.js

const port = 3000; 
const app = express(); 
const compiler = webpack(config); 

app.use(require('webpack-dev-middleware')(compiler, { 
    noInfo: true, 
    publicPath: config.output.publicPath 
})); 

app.use(require('webpack-hot-middleware')(compiler)); 

回答

1

的的WebPack配置文件可以在其中配置設置,以指定:

  • 怎樣的WebPack捆綁你的代碼
  • 它使代碼
  • 提供哪些插件
  • 它使用什麼預處理器來處理您的靜態資產
  • 定義輸入和輸出要點

它沒有做的是指定你的框架(Express)將如何使用一些插件。在你已經鏈接的blog,配置文件中包含該部分:

plugins: [ 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.NoErrorsPlugin() 
], 

在這裏,您指定的webpack.HotModuleReplacementPlugin提供在應用程序中使用。它沒有指定它將如何使用。另外請注意,webpack-dev-middleware尚未包含在配置中。

您需要特別說明該框架應該使用webpack-dev-middleware,這就是爲什麼您需要在server.js文件中編寫app.use(require('webpack-dev-middleware')..。同樣爲webpack-hot-middleware