配置自动打包相关的参数
上面使用webpack自动打包完成后,需要手动在浏览器中输入网址,自动打开浏览器的设置如下:
1 2 3 4 5 6 7 8
|
"scripts":{ "dev":"webpack-dev-server --open --host 127.0.0.1 --port 8888" }
|
webpack中的加载器
在实际开发过程中,webpack默认只能打包以.js为后缀结尾的模块,其他非.js后缀的模块处理不了,需要调用loader加载器才能正常打包,否则报错。

打包css文件
- 运行
npm i style-loader css-loader -D
命令,安装css文件啊的loader - 在webpack.config.js中增加loader规则
1 2 3 4 5 6 7 8 9 10 11
| module.exports = { mode:"development", module:{ rules:[ { test:/\.css$/,use:['style-loader','css-loader']} ] } }
|
- 导入(import)css文件
注意:use数组的顺序是固定的不能随意改动,因为loader调用的顺序是从后向前调用
打包less文件
- 运行
npm i less-loader less -D
命令 - 在webpack.config.js中的module->rules增加loader规则
1 2 3 4 5 6 7
| module:{ rules:[ { test:/\.less$/,use:['style-loader','css-loader','less-loader']} ] }
|
- 导入(import)less文件
打包scss文件
- 运行
npm i sass-loader node-sass -D
命令 - 在webpack.config.js中的module->rules增加loader规则
1 2 3 4 5 6 7
| module:{ rules:[ { test:/\.scss$/,use:['style-loader','css-loader','sass-loader']} ] }
|
- 导入(import)scss文件
配置postCSS自动添加css的兼容前缀
css针对不同的浏览器效果是不同的,所以需要使用兼容性的css
- 运行
npm i postcss-loader autoprefixer -D
- 在项目根目录创建postcss的配置文件postcss.config.js并初始化配置:
1 2 3 4
| const autoprefixer = require("autoprefixer") module.exports={ plugins:[autoprefixer] }
|
- 在webpack.config.js的module->rules数组中,修改css的loader规则
1 2 3 4 5 6 7 8 9 10 11
| module.exports = { mode:"development", module:{ rules:[ { test:/\.css$/,use:['style-loader','css-loader','postcss-loader']} ] } }
|
打包样式表中的图片和字体文件
webpack默认处理不了样式表中的路径
- 运行
npm i url-loader file-loader -D
- 在webpack.config.js中的module->rules增加loader规则
1 2 3 4 5 6 7 8 9
| module:{ rules:[ { test:/\.jpg|png|gif|bmp|ttf|svg$/, use:"url-loader?limit=1666"} ] }
|
打包处理JS文件中的高级语法
安装babel转换器相关的包:npm i babel-loader @babel/core @babel/runtime -D
安装babel语法插件相关的包:npm i @babel/preset-env @babel/plugin-transform-runtime @babel/plugin-proposal-class-properties -D
在项目根目录创建babel配置文件babel.config.js并初始化
1 2 3 4
| module.exports={ presets:["@babel/preset-env"], plugins:["@babel/plugin-transform-runtime","@babel/plugin-proposal-class-properties"] }
|
- 在webpack.config.js中的module->rules增加loader规则
1 2 3 4 5 6 7 8 9
| module:{ rules:[ { test:/\.js$/, use:"babel-loader", exclude:/node_modules/ }] }
|
VUE单文件组件
单文件组件的基本用法
基本结构
- template 组件的末班区域
- script 业务逻辑区域
- style 样式区域

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <template> <div> <h1>这是APP根组件</h1> </div> </template>
<script> export default{ data(){ return {}; }, methods:{} }; </script>
<style> h1{ color: red; } </style>
|
webpack中配置vue加载器
- 运行
npm i vue-loader vue-template-compiler -D
- 在webpack.config.js配置文件中,添加vue-loader的配置
1 2 3 4 5 6 7 8
| const VueLoaderPlugin = require("vue-loader/lib/plugin")
module.exports ={ module:{ rules:{test:/\.vue$/,loader:"vue-loader"} }, plugins:[new VueLoaderPlugin()] }
|
在webpack项目中使用vue
- 运行
npm i vue -S
安装vue - 在src->index.js入口文件中,通过
import Vue from "vue"
来导入vue函数 - 创建vue的实例对象,并指定要控制的el区域
- 通过
render
函数渲染App根组件

webpack简单的打包发布
在package.json中配置打包命令
1 2 3
| "scripts":{ "build":"webpack -p" }
|