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實(shí)現(xiàn)拖放排序功能的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了Vue中實(shí)現(xiàn)拖放排序功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07vue實(shí)現(xiàn)鼠標(biāo)移入移出事件代碼實(shí)例
這篇文章主要介紹了vue實(shí)現(xiàn)鼠標(biāo)移入移出事件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03前端JS也可以連點(diǎn)成線詳解(Vue中運(yùn)用AntVG6)
這篇文章主要給大家介紹了關(guān)于前端JS連點(diǎn)成線(Vue中運(yùn)用?AntVG6)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-01-01如何在ElementUI的上傳組件el-upload中設(shè)置header
這篇文章主要介紹了如何在ElementUI的上傳組件el-upload中設(shè)置header,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Vuepress生成文檔部署到gitee.io的注意事項(xiàng)及說(shuō)明
這篇文章主要介紹了Vuepress生成文檔部署到gitee.io的注意事項(xiàng)及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09