- 总体配置
- 配置 development 、 production 环境变量
- 基础配置
- 代码压缩
- 提取 CSS 代码
- 添加别名 Alias
- 利用 splitChunks 单独打包第三方模块
- 开启 gzip 压缩
- 为 sass 提供全局样式,以及全局变量
- 为 less 提供全局样式,以及全局变量
- 为 stylus 提供全局变量
- 配置 proxy 代理解决跨域问题
- 添加打包分析
- 外部库使用 CDN 加载 ( 配置 externals)
- 删除 moment 语言包
- 压缩图片
- 预渲染 prerender-spa-plugin
- 添加 IE 兼容
- 去掉 console.log
- 开启 stylelint 检测 scss, css 语法
- 修复 HMR(热更新) 失效
- 修复 Lazy loading routes Error: Cyclic dependency vuejs/vue-cli#1669
- 自动生成雪碧图
- SVG 转 font 字体
- 使用 SVG 组件
- 去除多余无效的 CSS
- 多页面打包 multi-page
- 静态资源自动打包上传阿里 oss、华为 obs
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
为 less 提供全局样式,以及全局变量
npm i -D less less-loader
在 src/assets/less
目录下新建 variables.less
文件,并定义全局 less
变量
vue.config.js
中为其添加相应 less
配置:
const path = require('path')
const fs = require('fs')
const postcss = require('postcss')
const resolve = dir =path.resolve(__dirname, dir)
const IS_PROD = ['prod', 'production'].includes(process.env.NODE_ENV)
function getLessVaribles(fileUrl, list = {}) {
if (!fs.existsSync(fileUrl)) return {};
let lessFile = fs.readFileSync(fileUrl, 'utf8');
return postcss.parse(lessFile).nodes.reduce((acc, curr) ={
acc[`${curr.name.replace(/\:/, '')}`] = `${curr.params}`;
return acc;
}, list);
}
const modifyVars = getLessVaribles(resolve('./src/assets/less/variables.less'));
module.exports = {
css: {
extract: IS_PROD,
// sourceMap: false,
loaderOptions: {
less: {
modifyVars,
javascriptEnabled: true,
}
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论