1 说明
- 问题
每一次手动打包很麻烦,打包后还需要手动刷新浏览器
- 解决
采用webpack提供的工具: webpack-dev-server ,它允许在运行时更新所有类型的模块后,则无需手动打包和刷新页面,会自动打包和刷新页面,可以很大程度提高开发效率
参考 http://webpack.docschina.org/guides/development 使用 webpack-dev-server
2 实操
1 安装依赖
npm install --save-dev webpack-dev-server
2 修改 webpack.config.js配置
//引用Node.js中的path模块,处理文件路径的小工具
const path = require("path");
//引入插件
const HtmlwebpackPlugin = require("html-webpack-plugin")
// 导出一个webpack具有特殊属性配置的对象
module.exports = {
mode: "development" ,
//入口
//入口模块文件路径
entry: "./src/main.js" ,
//出口是对象
output: {
//path是一个绝对路径,__dirname 是当前js的绝对路径
path: path.join(__dirname , "./dist/"), //打包的结果文件存储目录
filename : "bundle.js" //打包的结果文件名
},module:{ //模块
rules: [ // 规则
{
test : /\.css$/ , //正则表达式,匹配 .css 文件资源
use: [
"style-loader",
"css-loader"
]
} ,
{
test : /\.(png|svg|jpg|gif)$/ , //正则表达式,匹配 .css 文件资源
use: [
"file-loader"
]
}
]
},
//配置插件
plugins: [
new HtmlwebpackPlugin({
//此插件作用是将 index.html打包到bundle.js所在目录中
//同时会在 index.html中自动的在<script>引入 bundle.js
template : "./index.html"
})
],
// 实时重新加载
devServer: {
contentBase: './dist'
}
}
3 修改 pack.json的scripts -- open选项 代表打包成功,自动打开浏览器
{
"name": "demo3",
"version": "1.0.0",
"main": "webpack.config.js",
"scripts": {
"build": "webpack --config ./webpack.config.js",
"start": "webpack-dev-server --open"
},
"author": "",
"license": "ISC",
"devDependencies": {
"css-loader": "^3.4.2",
"file-loader": "^5.1.0",
"html-webpack-plugin": "^3.2.0",
"style-loader": "^1.1.3",
"webpack": "^4.41.6",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3"
},
"dependencies": {},
"description": ""
}
参考资料 http://webpack.docschina.org/guides/development/#%E4%BD%BF%E7%94%A8-webpack-dev-server
如果报异常; 运行
npm install --save-dev webpack-cli
命令
4 打包
npm run start
5 测试 修改 style.css 会自动打包且浏览器会自动刷新,如下注释掉图片,就只剩背景色了。 style.css
body{
background: red;
/*background-image : url(../images/img.jpg); */
}
关于作者
王硕,网名信平,十多年软件开发经验,业余架构师,精通Java/Python/Go等,喜欢研究技术,著有《PyQt 5 快速开发与实战》《Python 3.* 全栈开发》,多个业余开源项目托管在GitHub上,欢迎微博交流。