原文出自 https://www.cnblogs.com/penghuwan/p/6941616.html
用最簡單的方式搭建一個服務器
npm install webpack-dev-server --save-dev,javascript
默認是localhost:8080端口,若是bundle.js找不到?html
var webpack = require('webpack') var path =require('path') module.exports = { entry:{ app:path.join(__dirname,'src','index.js') }, output:{ filename:'bundle.js', path:path.join(__dirname,'dist') }, devServer: { contentBase: path.join(__dirname, "dist") } }
詳解webpack-dev-server的配置屬性 java
contentBase:它指定了服務器資源的根目錄,若是不寫入contentBase的值,那麼contentBase默認是項目的目錄。node
當咱們在終端運行"node_modules/.bin/webpack-dev-server後webpack
2. port配置屬性指定了開啓服務的端口號:web
devServer: { port:7000 }
3.host設置的是服務器的主機號:
devServer: { contentBase: path.join(__dirname, "dist"), port:7000, host:'0.0.0.0' }
此時訪問 0.0.0.0:7000就能夠訪問項目了
4.historyApiFallback,這個配置屬性是用來應對返回404頁面時定向到特定頁面用的shell
增長一個訪問錯誤的404頁面npm
historyApiFallback:{ rewrites:[ {from:/./,to:'/404.html'} ] }
5.overlay 這個配置屬性用來在編譯出錯的時候,在瀏覽器頁面上顯示錯誤,默認是false,可設置爲truejson
6.stats 這個配置屬性用來控制編譯的時候shell上的輸出內容 , stats: "errors-only"表示只打印錯誤: 瀏覽器
7.quiet 當這個配置屬性和devServer.stats屬於同一類型的配置屬性 ,當它被設置爲true的時候,控制檯只輸出第一次編譯的信息,當你保存後再次編譯的時候不會輸出任何內容,包括錯誤和警告
8.compress 這是一個布爾型的值,當它被設置爲true的時候對全部的服務器資源採用gzip壓縮
inline mode模式的刷新
var webpack = require('webpack') module.exports = { /*省略entry ,output等內容*/ plugins:[ new webpack.HotModuleReplacementPlugin() ], devServer: { inline:true, hot:true } }
{ "name": "webpackTest2", "dependencies": {}, "devDependencies": {}, "scripts": { "start": "node_modules/.bin/webpack-dev-server" } }
在終端運行npm start便可運行成功!
1在webpack.config.js輸出對象中的devServer屬性中寫配置(也就是咱們上述全部例子的作法)
var config = require("./webpack.config.js"); config.entry.app.unshift("webpack-dev-server/client?http://localhost:8080/"); var compiler = webpack(config); var server = new WebpackDevServer(compiler, { /*咱們寫入配置的地方*/ }); server.listen(8080);