使用教程(一)--- entry,devtool,output,resolve
使用教程(二)--- module.loaders
使用教程(三)--- pluginscss个人 Webpack 版本是 3.10.0
// 安装 npm install webpack-dev-server --save-dev // 在 package.json 配置下,方便使用。 "scripts": { "dev": "webpack-dev-server" // 运行命令会自动在node_modules文件夹找 webapck-dev-server模块。 } // webpack.config.js 配置一下 devServer devServer: { clientLogLevel: 'warning', historyApiFallback: true, hot: true, compress: true, host: 'localhost', port: 8080 }
node_modules/.bin/webpack-dev-server
。若你 package.json 配置好了,在命令行输入npm run dev
。HMR 这个插件是真正实现热模块更新的
。而 devServer 里配置了 hot: true , webpack会自动添加 HMR 插件。因此模块热更新最终仍是 HMR 这个插件起的做用。若是为 {...} , 看看通常里面有什么。html
rewrites: [ { from: /^\/subpage/, to: '/views/subpage.html' }, { from: /^\/helloWorld\/.*$/, to: function() { return '/views/hello_world.html; } } ] // 从代码能够看出 url 匹配正则,匹配成功就到某个页面。 // 并不建议将路由写在这,通常 historyApiFallback: true 就好了。
.
。你要提供哪里的内容给虚拟服务器用。这里最好填 绝对路径。node
// 单目录 contentBase: path.join(__dirname, "public") // 多目录 contentBase: [path.join(__dirname, "public"), path.join(__dirname, "assets")]
overlay:{ errors:true, warnings:false }
url = '主机名' + 'publicPath配置的' +
'原来的url.path'
。这个其实与 output.publicPath 用法大同小异。// devServer.publicPath publicPath: "/assets/" // 本来路径 --> 变换后的路径 http://localhost:8080/app.js --> http://localhost:8080/assets/app.js
proxy: { '/proxy': { target: 'http://your_api_server.com', changeOrigin: true, pathRewrite: { '^/proxy': '' } }
http://localhost:8080/proxy/user/list
。http://localhost:8080/proxy/user/list 变为 http://your_api_server.com/proxy/user/list
。但还不是咱们要的 url 。''
,那么 url 最终为 http://your_api_server.com/user/list
。watchOptions: { aggregateTimeout: 300, poll: 1000, ignored: /node_modules/ }
false
。