亲宝软件园·资讯

展开

vue cli3配置stylus全局变量

李逸风 人气:0

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变量的路径
    });
}

保存文件,下载依赖即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论