vue-cli3全局使用less变量报错Variable @primary-color is undefined

发布日期: 2024-01-03 14:17:31 作者: Stephen 评论: 0

vue-cli3 项目中如何使用 less 全局变量,并解决 Variable @primary-color is undefined 错误。

由于我需要在项目中自定义主题色等配置,根据官方文档介绍,需要安装 less ,我项目中用的是 ViewUI ,得根据UI框架指定的 less 版本进行安装,否则可能会安装失败。

安装less

npm i less@2.7.3 less-loader@4.0.6 --save-dev

使用less变量

./src/assets/theme.less

@import "~view-design/src/styles/index";

@primary-color: #A3C603;

man.js

import '@/assets/theme.less'

在组建中使用 less 变量

<style scoped lang="less">
.container {
    background-color: @primary-color;
}
</style>

然后发现报错了:

Variable @primary-color is undefined

解决错误

安装 style-resources-loader

npm i style-resources-loader vue-cli-plugin-style-resources-loader --save-dev

vue.config.js

const path = require('path')

module.exports = {
  ......
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [path.resolve(__dirname, './src/assets/theme.less')] // 引入全局样式变量
    }
  }
}

快来抢沙发