目的: 准备常用less变量,混入代码,完成自动导入。
准备要用的变量和混入代码
变量 src/assets/styles/variables.less
// 主题颜色
@b2cColor:#BFB383;
混入 src/assets/styles/mixins.less
less混入就是,申明一段css代码(选择器包裹的代码)或者函数,在其他css选择器调用,可复用包裹的代码。
// 鼠标经过上移阴影动画
.hoverShadow () {
transition: all .5s;
&:hover {
transform: translate3d(0,-3px,0);
box-shadow: 0 3px 8px rgba(0,0,0,0.2);
}
}
2.完成自动注入公用变量和混入
遇到的问题:每次使用公用的变量和mixin的时候需要单独引入到对应文件中。
比如在home/index.vue引入
<style scoped lang="less">
// 引入公用变量
@import '../../assets/styles/variables.less';
.b2c-home-page{
color: @b2cColor;
}
</style>
解决方法: 使用vuecli的style-resoures-loader插件来完成自动注入到每个less文件或者vue组件中style标签中。
在当前项目下执行一下命令vue add style-resources-loader,添加一个vuecli的插件
如遇警告,输入y继续即可
选择less作为预处理器
安装完毕后会在vue.config.js中自动添加配置,如下:
module.exports = {
pluginOptions: {
'style-resources-loader': {
preProcessor: 'less',
patterns: []
}
}
}
把你需要注入的文件配置一下后,重启服务即可。
const path = require('path')//引入路径模块
module.exports = {
pluginOptions: {
'style-resources-loader': {
preProcessor: 'less',
patterns: [
path.join(__dirname, './src/assets/styles/variables.less'),//拼接地址
path.join(__dirname, './src/assets/styles/mixins.less')//拼接地址
]
}
}
}
总结: 知道如何定义less变量和混入代码并使用他们,通过vue-resources-loader完成代码注入再每个less文件和vue组件中。