vue-cli 配置 sass 全域性變數
一、背景
在寫 vue 的時候,如果使用 sass 編寫,需要用到全域性變數、混合、公共函式的話,就要每個元件 @import 匯入;
如果變數檔案位置有改動的話,就得所有的引用都改動,所以就需要一種配置了變數,全域性都可以使用的方式。
我們在這裡使用 sass-resources-loader 作為解決方案。
二、介紹
sass-resources-loader
會將指定的 sass 檔案引入到每個使用 sass 模組的檔案中,減去使用者自身引用的繁瑣操作;
而且當公共檔案的路徑發生改變的時候,只需在配置的一處地方跟隨修改即可,無需多處修改;
三、配置
下面分享下如何在 vue-cli 工程裡配置:
- 使用
vue-cli
建立的工程內都有一個叫build
的資料夾,在這裡面主要放置的是webpack
配置,開啟資料夾,找到utils.js
檔案並開啟。
2.在cssLoaders
函式中的return
前面加上
// =========
// SASS 配置
// =========
function resolveResouce(name) {
// 此處路徑為存放全域性 sass 檔案的資料夾路徑
return path.resolve(__dirname, '../src/assets/sass/' + name);
}
function generateSassResourceLoader() {
var loaders = [
cssLoader,
'sass-loader',
{
loader: 'sass-resources-loader',
options: {
// it need a absolute path
resources: [resolveResouce('_variable.scss')] // 此處填寫需要配置為全域性檔案的sass檔案
}
}
];
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
- 再將下方 return 的物件修改成這樣:
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
// sass: generateLoaders('sass', { indentedSyntax: true }), // 將這兩個替換成上面加上的函式
// scss: generateLoaders('sass'),
sass: generateSassResourceLoader(),
scss: generateSassResourceLoader(),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
配置完成!
相關文章
- vue2中使用sass並配置全域性的sass樣式變數Vue變數
- mac配置全域性環境變數Mac變數
- 全域性變數變數
- 全域性變數與區域性變數變數
- 區域性變數和全域性變數變數
- 全域性 DOM 變數變數
- Java區域性變數與全域性變數Java變數
- java 全域性變數和區域性變數Java變數
- jmeter全域性變數和區域性變數JMeter變數
- 【c】全域性變數與區域性變數變數
- vue定義全域性變數和全域性方法Vue變數
- js宣告全域性變數JS變數
- vue-cli配置環境變數Vue變數
- webpack+vue+sass專案中,sass提取全域性引用WebVue
- Python中的全域性變數和區域性變數Python變數
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- 易優global全域性配置變數標籤-EyouCms手冊變數
- 全域性DOM變數的坑變數
- PHP 超級全域性變數PHP變數
- less 全域性變數使用 引用變數
- 【SQL Server】常用全域性變數SQLServer變數
- js-js的全域性變數和區域性變數JS變數
- process node.js全域性變數Node.js變數
- QT 全域性變數使用方法QT變數
- PHP超全域性變數$_SERVER分析PHP變數Server
- javascript全域性變數的使用注意JavaScript變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- uni 結合vuex 編寫動態全域性配置變數 this.baseurlVue變數
- golang變數作用域問題-避免使用全域性變數Golang變數
- 總結Sass 變數變數
- shell全域性(系統)環境變數變數
- Python定義全域性變數的用法Python變數
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- 區域性變數和全域性變數(靜態和非靜態)區別變數
- Vue Cli3.0 全域性引入 less 變數Vue變數
- python多執行緒-共享全域性變數Python執行緒變數
- 變數的分類(臨時(本地)變數、環境變數、全域性變數和系統變數)變數