less中:export 无效问题,vue-cli中导出公共变量,js对象为空对象

1、版本:
vue:2.6.14
@vue/cli:5.0.8

2、全局变量文件:

复制代码
// variables.less
@themeColor: #00978D;
@pageBgColor: #f2f8f7;

// CSS Module 有一个:export关键字,它在功能上等同于 ES6 的关键字export,即导出一个 js 对象。
:export {
  name: "less";
  themeColor: @themeColor;
}
复制代码

3、vue中使用:把样式变量共享给js使用

复制代码
<template>
  <div id="app" class="box"></div>
</template>

<script>
import variables from './styles/variables.less';
export default {
  data() {
    return {
      variables,
    };
  },
  created() {
    console.log(this.variables, "variables");
  }
};
</script>
复制代码

注:在vue-cli v5版本中requireModuleExtension是已经被移除了。在没有任何配置的情况下打印出来的就是一个空对象

4、解决方案

通过阅读官方文档,发现可以根据约定将文件名改为.module.(css|scss|sass|less|styl(us)?)结尾,这样就可以识别出css module。

这里是将自己项目中的variables.less改成了variables.module.less,可以发现确实生效可以获取到正常的js对象。

posted @   小阿飞ZJF  阅读(539)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示