vue cli3配置stylus全局变量
vue cli3使用stylus全局变量
vue cli3配置stylus全局变量首先在common.styl文件中写一些常用的css变量,方便全局使用,避免重复代码。
预想的是在main.js中引入common.styl文件,然后所有的.vue文件就都可以使用了。但是事与愿违,根本不起作用。
网络上有很多教程,但是都不起作用(找答案是个痛苦且漫长的过程),下面是总结的代码,基本开箱即用,希望能帮助到需要帮助的人。
// vue.config.js
module.exports = {
// 配置使用stylus全局变量
chainWebpack: config => {
const types = ["vue-modules", "vue", "normal-modules", "normal"];
types.forEach(type =>
addStyleResource(config.module.rule("stylus").oneOf(type))
);
}
}
// 定义函数addStyleResource
function addStyleResource(rule) {
rule
.use("style-resource")
.loader("style-resources-loader")
.options({
patterns: [path.resolve(__dirname, "./src/styles/common.styl")] //后面的路径改成你自己放公共stylus变量的路径
});
}
Tips: 使用vue cli3创建的项目默认是没有vue.config.js文件的,需要自己在项目根目录创建。
vue cli3使用stylus全局变量在vue.config.js中添加以下代码
const path = require('path')
module.exports = {
// 配置使用stylus全局变量
chainWebpack: config => {
const types = ["vue-modules", "vue", "normal-modules", "normal"];
types.forEach(type =>
addStyleResource(config.module.rule("stylus").oneOf(type))
);
}
};
// ====定义函数addStyleResource===
function addStyleResource(rule) {
rule
.use("style-resource")
.loader("style-resources-loader")
.options({
patterns: [path.resolve(__dirname, "./src/css/var.styl")] //后面跟着的路径是你自己放公共stylus变量的路径
});
}
保存文件,下载依赖即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。