vue中配置scss全局變量的步驟
在寫項目的過程中,如果用的是scss來編寫樣式代碼,常常需要定義各種變量,例如主題色、主字號之類的,因此我們會把這些變量寫到一個單獨的_variable.scss文件內(nèi),但是每次都要在vue單文件內(nèi)引入這些變量未免太繁瑣了,所以有沒有辦法可以默認把變量文件作為全局文件進行引入呢?答案是肯定的,可以用下面的方法進行配置,可以根據(jù)當前使用的框架和環(huán)境來進行方法的選擇。
一、使用vue-cli(即vue-cli2)腳手架時
1. 首先,需要安裝一個loader,sass-resources-loader
npm install sass-resources-loader --save-dev
2. 找到build文件夾下的utils.js文件,在文件內(nèi)找到這段配置代碼
return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: generateLoaders('sass'), stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') }
3. 修改其中的scss項,改為
scss: generateLoaders('sass').concat({ loader:'sass-resources-loader', options:{ resources:path.resolve(__dirname,'../src/styles/_variable.scss') } })
4. 重啟項目,即可在其他文件內(nèi)使用這些變量文件了
二、使用@vue/cli(即vue-cli3)腳手架時
1. 找到vue.config.js文件,如果沒有的話,則自己在根目錄新建一個即可
2. 在文件內(nèi)編寫如下代碼:
module.exports = { css: { loaderOptions: { sass: { data: `@import "@/styles/_variable.scss";` } } } }
3. 重啟項目,即可使用
注意:如果編寫完以上代碼,重啟項目后出現(xiàn)這個錯誤:
Invalid options object. Sass Loader has been initialised using an options object that does not match the API schema.
那么說明,你安裝的sass-loader應該是V8的版本,可以在package.json中查看是否確實如此,如果的確是v8版本以上,則需要配置不同的寫法,因為在V8中已經(jīng)廢除了data這個配置項,改為了prependData,具體可以在vue cli官網(wǎng)中看到此說明?!?a target="_blank" rel="external nofollow" >傳送門】
因此,我們需要將配置代碼修改成如下樣式:
css: { loaderOptions: { sass: { prependData: `@import "~@/styles/_variable.scss";` } } }
好了,重啟一下項目,大功告成。
以上就是vue中配置scss全局變量的步驟的詳細內(nèi)容,更多關于vue配置scss全局變量的資料請關注腳本之家其它相關文章!
相關文章
vue同一個瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決方案
同一個瀏覽器登錄不同賬號session一致,這就導致后面登錄的用戶數(shù)據(jù)會把前面登錄的用戶數(shù)據(jù)覆蓋掉,這個問題很常見,當前我這邊解決的就是同一個瀏覽器不同窗口只能登錄一個用戶,對vue同一個瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決方法感興趣的朋友一起看看吧2024-01-01如何巧用Vue.extend繼承組件實現(xiàn)el-table雙擊可編輯(不使用v-if、v-else)
這篇文章主要給大家介紹了關于如何巧用Vue.extend繼承組件實現(xiàn)el-table雙擊可編輯的相關資料,不使用v-if、v-else,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06vue動態(tài)路由加載時出現(xiàn)Cannot?find?module?xxx問題
這篇文章主要介紹了vue動態(tài)路由加載時出現(xiàn)Cannot?find?module?xxx問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01