做用:在webpack加載以後打開一個新的瀏覽器窗口。
安裝:npm install open-browser-webpack-plugin --save-dev
。(請注意--save-dev和--save的區別)由於這個插件通常在產品發佈時不須要因此只要安裝在開發時依賴的包裏就行,用--save-dev。
例:html
var OpenBrowserPlugin = require('open-browser-webpack-plugin'); module.exports = { entry: path.resolve(__dirname, 'lib/entry.js'), output: { path: __dirname + "/bundle/", filename: "bundle.js" }, plugins: [ new OpenBrowserPlugin({ url: 'http://localhost:3000' }) ] };
屬性node
上面的插件用於webpack load是打開瀏覽器,而webpack-dev-server裏面也有一個open:true的屬性來控制自動打開瀏覽器,這二者有什麼區別,我也找了許多並無特別的說明,因此我也不知道。不知道有沒有知道的大神能夠解釋一下嗎?webpack
做用:用於快速開發應用程序,在開發階段使用例如熱重載之類的。
安裝:npm install webpack-dev-server --save-dev
例:web
//config.js中的配置 devServer: { clientLogLevel: 'warning', historyApiFallback: true, hot: true, compress: true, host: 'localhost', port: 8080 }
注意:在webpack配置中國官方網站裏有說:若是你經過 Node.js API 來使用 dev-server, devServer 中的選項將被忽略。將選項做爲第二個參數傳入: new WebpackDevServer(compiler, {...})。
webpack-dev-server也是一個小型的Node.js Express服務器,記得用nodejs建立一個服務器時(即寫在sever.js裏服務器建立),若是沒有用new WebpackDevServer(compiler, devServerOptions )傳入那麼定義在webpack.config.js上devServer部分將不起做用。使用方法以下:npm
const Webpack = require('webpack'); const WebpackDevServer = require('webpack-dev-server '); const webpackConfig = require('./webpack.config'); const compiler = Webpack(webpackConfig); const devServerOptions = Object.assign({}, webpackConfig.devServer, { stats: { colors: true } }); const server = new WebpackDevServer(compiler, devServerOptions); server.listen(8080, '127.0.0.1', () => { console.log('Starting server on http://localhost:8080'); });
屬性json
allowedHosts: [ '.host.com',//以"."爲開頭的能夠匹配host.com, www.host.com 'host2.com' ]
clientLogLevel: "none"//在config文件中的devServer模塊配置 用法1 //但也能在CLI中配置,即package.json中scripts中配置 用法2 webpack-dev-server --client-log-level none
//用法 1: color:true //2 webpack-dev-server --color
lazy: true, filename: "bundle.js"//如今只有在請求 /bundle.js 時候,纔會編譯 bundle
historyApiFallback: true//任意的 404 響應均可能須要被替代爲 index.html //進一步控制 historyApiFallback: { rewrites: [ { from: /^\/$/, to: '/views/landing.html' }, { from: /^\/subpage/, to: '/views/subpage.html' }, { from: /./, to: '/views/404.html' } ], disableDotRule: true//當路徑中使用點(dot),設置disableDotRule爲true }
還有許多屬性,能夠參考下面「webpack-dev-server」對應的地址,上面已經十分詳細了。瀏覽器