vite+vue3全局定义less变量在单文件中使用

最近在探究使用vite+vue3搭建一个后台框架,为了更好的扩展性,将系统可能用到的所有颜色以及部分属性定义变量作为单独的less文件。

  • 在全局的index.less中定义之后,在其它文件使用直接报错,提示@primary-color为undefined
    在这里插入图片描述
  • 解决方案,在vite配置文件css中加上modifyVars。重启项目就ok了
// vite.config.js
...
css: {
    preprocessorOptions: {
      less: {
        modifyVars: {
          hack: `true; @import (reference) "${path.resolve('src/styles/color.less')}";`,
        },
        javascriptEnabled: true
      }
    }
  },
...
  • 附上color.less,嫖的antd-design-vue
@primary-color: #1890ff; // 全局主色
@link-color: #1890ff; // 链接色
@success-color: #52c41a; // 成功色
@warning-color: #faad14; // 警告色
@error-color: #f5222d; // 错误色
@font-size-base: 14px; // 主字号
@heading-color: rgba(0, 0, 0, 0.85); // 标题色
@text-color: rgba(0, 0, 0, 0.65); // 主文本色
@text-color-secondary: rgba(0, 0, 0, 0.45); // 次文本色
@disabled-color: rgba(0, 0, 0, 0.25); // 失效色
@border-radius-base: 4px; // 组件/浮层圆角
@border-color-base: #d9d9d9; // 边框色
@box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // 浮层阴影
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用Vue3 + Vite构建项目时,使用Less变量的方法如下: 1. 在全局的index.less文件定义所需的颜色和属性变量。例如,在color.less文件定义了@primary-color变量为#1890ff。 2. 在vite.config.js配置文件,添加css选项,将Less的预处理器选项进行配置。在modifyVars引入color.less文件,并设置hack为true。确保javascriptEnabled为true。例如: ```javascript // vite.config.js ... css: { preprocessorOptions: { less: { modifyVars: { hack: `true; @import (reference) "${path.resolve('src/styles/color.less')}";`, }, javascriptEnabled: true } } }, ... ``` 3. 重新启动项目,此时在其他文件使用@primary-color变量时应该不再报错,而是正常使用定义的颜色值。 这样可以在Vue3 + Vite项目使用Less变量,并实现全局的颜色定义。引用 <span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [vite+vue3全局定义less变量文件使用](https://blog.csdn.net/V_AYA_V/article/details/117783527)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [浅谈vue引入css,less遇到的坑和解决方法](https://download.csdn.net/download/weixin_38554193/12764692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值