1、打开项目 输入npm init -y,
2、创建main.js //项目的JS入口文件
3、安装cnpm i webpack-dev-server -D 自动打包工具
4、项目本地需要安装webpack
①cnpm i webpack -D
②cnpm install webpack-cli --save-dev
5、配置文件webpack.config.js
const path = require(‘path’);
module.exports = {
//入口,表示要使用webpack打包那个文件
entry: path.join(__dirname, ‘./src/main.js’),
//出口,输入文件相关的配置
output: {
//指定打包好的文件,输出到哪个目录
path: path.join(__dirname, './dist'),
//指定存储为哪个文件名称
filename: 'bundle.js'
}
}
6、实时打包需要在package.json里面添加脚本 在scripts下添加
{ “dev”: “webpack-dev-server --open --port 3000 --contentBase src --hot”};
open:true,//自动打开浏览器
port:3000,//启动时运行端口
contentBase:‘src’,//指定托管的根目录
hot:true//启用热更新
7、安装cnpm i html-webpack-plugin -D
配置文件webpack.config.js设置
1)const htmlwebpackPlugin = require(‘html-webpack-plugin’)
2)module.exports = {
plugins:[
new htmlwebpackPlugin({
template: path.join(__dirname, ‘./src/index.html’),//指定模版页面
filename: ‘index.html’//指定生成页面的名称
})
]
}
8、测试先输入webpack指令看是否报错,正常就可执行npm run dev 自动打包热更新等
9、如果需要打包css文件Less,需要安装插件,并且需要在入口文件先导入对应的css或less文件
##*cnpm i style-loader css-loader -D 、## cnpm i less-loader less -D*
并且需要在webpack.config.js配置如下
module.exports = {
module: {
//这个节点用于配置所有第三方loader模块加载器
rules: [//所有第三方模块的匹配规则
{
test: /\.css$/,use:['style-loader','css-loader']},//处理配置第三方loader规则
{
test: /\.less$/,use:['style-loader','css-loader','less-loader']}
]
}
}
10、默认情况下,webpack无法处理css文件中的url地址,不管是图片还是字体库,需要安装第三方模块,
cnpm i url-loader file-loader -D,
在module —> rules下配置
{ test: /.(jpg|png|gif|bmp|jpeng)$/, use: ‘url-loader?limit=457585&name