vue cli3配置stylus全局变量
李逸风 人气:0vue 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变量的路径 }); }
保存文件,下载依赖即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容