plugins能够在webpack运行到某一时刻的时候帮你作一些事情,和react、vue中的生命周期函数很像。html
npm install --save-dev html-webpack-plugin
复制代码
会在打包结束后的这一个时刻自动生成一个html文件,并把打包生成的js自动引入到这个html文件中前端
// 第一步引入html-webpack-plugin
const HtmlWebpackPlugin = require('html-webpack-plugin')
plugins: [
new HtmlWebpackPlugin({
template: 'src/index.html' //'src/index.html'设置的模板
})
],
复制代码
npm install --save-dev clean-webpack-plugin
复制代码
会在项目打包以前将指定的打包目录删除vue
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
plugins: [
new CleanWebpackPlugin()
]
复制代码
sourceMap是一个映射关系,他能够将编译好的文件和源文件对应起来,方便寻找代码的错误提示react
devtool: 'soucre-map'
复制代码
mode: 'development',
devtool: 'cheap-module-eval-source-map'
复制代码
mode: 'production',
devtool: 'cheap-module-source-map'
复制代码
"scripts": {
"watch": "webpack --watch"
},
复制代码
这种方法还不够好,若是想自动实现打包的同时,自动打开浏览器,同时模拟服务器上的一些特性webpack
webpack-dev-server
npm install webpack-dev-server -D
复制代码
devServer: {
contentBase: './dist'
}
复制代码
"scripts": {
"watch": "webpack --watch",
"start": "webpack-dev-server"
},
复制代码
此时执行npm run start
,每次修改源文件的时候,会自动编译打包,并刷新页面 git
若是不想手动访问8080端口,执行完npm run start
自动打开浏览器页面能够增长以下配置github
devServer: {
contentBase: './dist',
open:true
}
复制代码
有时候咱们要在前端发起ajax请求,本地直接访问html页面是经过file协议打开,是发不了ajax请求的,若是想发送ajax请求,必须使用http协议。web