vue如何引入sass全局變量
sass或者less都提供變量設(shè)置,在需求切換主題的項(xiàng)目中使用less或者sass變量,只要修改變量值,編譯后所有用到該變量的樣式都會(huì)被修改為你想要的效果,但是在vue-cli搭建的項(xiàng)目中,在main.js中全局引入一個(gè)scss文件,在其中定義變量在其他組件或者頁(yè)面中引用報(bào)變量未定義錯(cuò)誤,其他的樣式可以正常顯示,顯然是編譯的問(wèn)題。
傻瓜式引用
在每個(gè)用到全局變量的組件都引入該全局樣式文件
@import 'path/fileName.scss'
但是組件或者頁(yè)面不在統(tǒng)一層目錄下,引入的路徑可能也會(huì)有差異,所以還是看看 sass-resources-loader 的解決方法吧。
sass-resources-loader引入sass全局變量
sass-resources-loader可以訪問(wèn)sass資源任何一個(gè)需要訪問(wèn)的sass模塊。所以,可以使用共享變量和混合所有SASS樣式,而不去每個(gè)文件都引用。
安裝sass-resources-loader
npm install --save-dev sass-resources-loader
修改sass配置
在 build 文件夾下找到 util.js 修改sass編譯器loader的配置
// 全局文件引入 當(dāng)然只想編譯一個(gè)文件的話可以省去這個(gè)函數(shù)
function resolveResource(name) {
return path.resolve(__dirname, '../static/style/' + name);
}
function generateSassResourceLoader() {
var loaders = [
cssLoader,
'sass-loader',
{
loader: 'sass-resources-loader',
options: {
// 多個(gè)文件時(shí)用數(shù)組的形式傳入,單個(gè)文件時(shí)可以直接使用 path.resolve(__dirname, '../static/style/common.scss'
resources: [resolveResource('common.scss')]
}
}
];
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
修改sass配置的調(diào)用為 generateSassResourceLoader()
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
// vue-cli默認(rèn)sass配置
// sass: generateLoaders('sass', { indentedSyntax: true }),
// scss: generateLoaders('sass'),
// 新引入的sass-resources-loader
sass: generateSassResourceLoader(),
scss: generateSassResourceLoader(),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
在 main.js 中引用 common.scss 文件,重啟服務(wù),其中定義的變量在其他組件就可以使用了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue如何監(jiān)聽(tīng)元素橫向滾動(dòng)到最右側(cè)
這篇文章主要介紹了vue如何監(jiān)聽(tīng)元素橫向滾動(dòng)到最右側(cè)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue3 $attrs和inheritAttrs的用法說(shuō)明
這篇文章主要介紹了vue3 $attrs和inheritAttrs的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vue3中reactive和ref的實(shí)現(xiàn)與區(qū)別詳解
reactive和ref都是vue3實(shí)現(xiàn)響應(yīng)式系統(tǒng)的api,他們是如何實(shí)現(xiàn)響應(yīng)式的呢,reactive和ref又有什么區(qū)別呢,下面小編就來(lái)和大家詳細(xì)講講,希望對(duì)大家有所幫助2023-10-10
vue中動(dòng)態(tài)設(shè)置meta標(biāo)簽和title標(biāo)簽的方法
這篇文章主要介紹了vue中動(dòng)態(tài)設(shè)置meta標(biāo)簽和title標(biāo)簽的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
vue :src 文件路徑錯(cuò)誤問(wèn)題的解決方法
這篇文章主要介紹了vue :src 文件路徑錯(cuò)誤問(wèn)題的簡(jiǎn)單解決方法,本文分步驟給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05
vue如何實(shí)現(xiàn)點(diǎn)擊選中取消切換
這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊選中取消切換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05

