前言
本篇文章除前言以及后记部分之外均为转载,转载文章发布于2018-08-22,所以关于依赖和插件的配置
方法部分有些过时,所以正文内容仅供参考,大家多多查看对应插件的官方文档。
我会在后记部分贴出自己配置的vue项目作为参考。
项目建设
项目初始化
创建createVue文件夹,进入该文件夹,npm init
初始化项目
安装webpack四件套
npm i webpack webpack-cli webpack-dev-server webpack-merge --save-dev
1 | // 当前我使用版本 |
创建相应文件
1 | createVue |
1 | // webpack.base.js |
1 | // webpack.dev.js |
1 | // webpack.prod.js |
webpack4增加了mode属性,设置为开发/生产,以下为替代配置
1 | development: |
1 | // index.js |
1 | <!-- app.vue --> |
1 | <!-- index.html --> |
安装vue核心解析插件
npm i vue-loader vue-template-compiler --save-dev
1 | // 当前我使用版本 |
由于vue的解析在dev和prod中均需使用,因此归入基本配置base
1 | // webpack.base.js |
安装html模板解析插件
npm i html-webpack-plugin --save-dev
1 | // 当前版本 |
html解析也属于基本配置,归入base
1 | // webpack.base.js |
创建npm命令
1 | "scripts": { |
–hot模块热替换
–open开启本地服务器
此时npm start
,项目可正常运行
功能拓展
添加loader
- CSS loader(包括前处理和后处理)
CSS基础加载器
1 | "css-loader": "^1.0.0", |
CSS前处理less两件套
1 | "less": "^3.8.0", |
CSS前处理sass两件套
1 | "node-sass": "^4.9.2", |
CSS后处理postcss两件套
1 | "postcss-loader": "^2.1.6", |
并在根文件夹创建postcss.config.js文件
1 | // postcss.config.js |
安装以上依赖,在base文件中加入一下loader代码
1 | // webpack.base.js |
图片装载机
解析图片,字体等都是用file-loader,安装npm i file-loader --save-dev
基本文件加入配置
1 | // webpack.base.js |
打包优化
打包时清除dist文件夹
解决每次重新打包,dist文件夹文件未清除
安装clean-webpack-plugin插件
1 | // webpack.prod.js |
分离CSS
webpack4中使用mini-css-extract-plugin插件来分离css。
安装mini-css-extract-plugin插件后
1 | // webpack.prod.js |
另外,还需将各个css loader中的style-loader替换为MiniCssExtractPlugin
图片压缩
图片压缩使用image-webpack-loader
,安装后代码如下:
1 | // webpack.prod.js |
压缩CSS和JS代码
安装Optimiz-css-assets-webpack-plugin和uglifyjs-webpack-plugin插件
1 | // webpack.prod.js |
后记
查看项目源码
package.json
1 | { |