為解決在Vue組件中全局引入 scss 變量及 mixins ,裝載了一個名為 "sass-resources-loader" 解析器。
安裝
$ > cnpm i -D sass-resources-loader
配置
配置的話是在 vue 的 loader 解析器中配置,即在 vue-cli 腳手架方式構建出來的文件中是以 build/utils.js,在該文件中定義了 cssLoaders() 方法,該方法定義了諸如 css、less的解析方式,具體如下。
// build/utils.jsexports.cssLoaders = function (options) { options = options || {} ... return { // ... sass: generateLoaders('sass', { indentedSyntax: true }), // 定義在這里 =======================》 scss: generateLoaders('sass').concat( { loader: 'sass-resources-loader', options: { resources: path.resolve(__dirname, '../src/common/style/global.scss') // 需要全局引入的文件 } } ), // 定義在這里 =======================》 // ... }}// global.scss@mixin line-height($height) { height: $height; line-height: $height;}$head-height: .45rem;// xx.vue<style lang="scss"> height: @include line-height(45px);</style>建議
在 global.scss 中只需要定義變量 或者是 mixins (混合)。
參考
https://vue-loader.vuejs.org/zh-cn/configurations/pre-processors.html
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答