我在我的项目中使用Vuetify,我想使用一个变量文件来覆盖Vuetify生成的样式。
我使用a carte方法加载组件及其相应的样式,因此我不会使用以下方法导入Vuetify SASS文件:
@import '~vuetify/src/styles/styles.sass'
// Not using this method because I don't want to generate styles that are not being used by
// vuetify components I'm not using
另外,我的项目是使用*.scss
,而不是*.sass
。
我还注入了一个全局SCSS文件,其中包含了我的vue.config.js
中的混合器和其他变量
css: {
sourceMap: productionSourceMap,
loaderOptions: {
scss: {
prependData: `@import '@/scss/_common.scss';`
}
}
},
我在那个$border-radius-root
文件中包含了一个名为common.scss
的Vuetify变量,但是它似乎没有任何效果。
知道如何做我想做的,而不必编写全新的CSS规则来覆盖Vuetify生成的样式表吗?基本上,我想用他们自己的样式表生成器来改变Vuetify使用的单元。
发布于 2020-06-12 03:18:09
实际上,解决方案是,我以前不考虑这个问题,把另一个加载程序添加到vue.config.js
中是愚蠢的
css: {
sourceMap: productionSourceMap,
loaderOptions: {
scss: {
prependData: `@import '@/scss/_common.scss';`
},
sass: {
prependData: `@import '@/sass/_vuetify-variables.sass';`
}
}
},
因为vuetify使用sass作为css预处理程序,所以它需要sass加载器来处理变量重写并将其应用到框架中。
发布于 2021-11-05 14:05:14
如果您使用的是Nuxt:
您可以在customVariable
文件中的vuetify
对象中添加vuetify
路径
Note您必须启用treeShake
。此选项是自定义SASS变量工作所必需的。
示例:
vuetify: {
// usually file should be in assets folder
customVariables: ['~/path/to/variables.scss'],
treeShake: true,
}
如果您使用的是Vue CLI:
sass
、scss
或styles
的文件夹variables.scss
或variables.sass
vuetify-loader将自动引导变量到Vue CLI的编译过程,覆盖框架默认值。
https://stackoverflow.com/questions/62316845
复制相似问题