iView 主题定制后样式没生效是怎么回事?
我按照 iView 官方文档用 webpack 的方式自定义了主题色,把 $primary-color 改成了 #ff6700,也装了 less-loader 和 less,但重新跑项目后按钮颜色还是蓝色的,完全没变。
我的 webpack 配置里加了这段:
{
test: /.less$/,
use: [
'style-loader',
'css-loader',
{
loader: 'less-loader',
options: {
lessOptions: {
modifyVars: {
'primary-color': '#ff6700'
},
javascriptEnabled: true
}
}
}
]
}
是不是哪里漏了?还是 iView 版本的问题?我用的是 iView 3.x。
把配置改成:
另外确保你引入的是 iView 的 less 源文件而不是编译后的 css,如果用的是 iview/dist/styles/iview.css 这种,是不生效的。
$primary-color是 Sass 语法,但 iView 3.x 是基于 less 的,变量名应该是@primary-color。改一下试试:
另外提醒一点,确保你的项目里引的是 iView 的 less 源文件而不是编译后的 css。如果你是按官方文档来的,应该没问题。
还有一种情况是缓存问题,清一下 node_modules 和 dist 目录,重新 npm install 再跑。
如果还是不行,可以直接全局覆盖:
这个虽然粗暴,但能快速验证是不是配置没生效的问题。先试试改变量名,应该就行。