国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue中引入sass、scss

這篇具有很好參考價值的文章主要介紹了vue中引入sass、scss。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

常規(guī)步驟

1. 創(chuàng)建項目

使用vue cli 腳手架工具創(chuàng)建項目

vue create xxxx

2. 創(chuàng)建全局樣式文件

全局樣式變量
路徑:@/assets/styles/variables.scss

//flex 布局變量
$--flex-direction: ("row", "column");
$--flex-position: ("start", "center", "end");

布局樣式類
路徑:@/assets/styles/layout.scss


@each $direction in $--flex-direction {
  .flex-#{$direction} {
      display: flex;
      flex-direction: #{$direction};
  }

  @each $p1 in $--flex-position {
      @each $p2 in $--flex-position {
          .flex-#{$direction}-#{$p1}-#{$p2} {
              display: flex;
              flex-direction: #{$direction};
              @if $p1!=center {
                  justify-content: flex-#{$p1};
              } @else {
                  justify-content: #{$p1};
              }

              @if $p2!=center {
                  align-items: flex-#{$p2};
              } @else {
                  align-items: #{$p2};
              }
          }
      }
  }
}

3. 創(chuàng)建全局公用樣式文件

全局共用樣式
路徑:@/assets/styles/main.scss

@import "@/assets/styles/layout.scss";

div {
    @extend .flex-row;
}

4. 引入全局公用樣式

在App.vue或者main.js中映入均可

<template>
    <router-view />
</template>

<style lang="scss">
@import "@/assets/styles/main.scss";

body {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}
#app {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    font-family: 微軟雅黑;
    color: #000000;
}
</style>

5. 配置全局樣式類文件

在vue.config.js中配置全局樣式類,具體配置方法可以參考vue cli官方文檔

const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
    transpileDependencies: true,
    css: {
        loaderOptions: {
            scss: {
                additionalData: `@import "~@/assets/styles/variables.scss","~@/assets/styles/layout.scss";`
            }
        }
    }
});

FAQ

1. 樣式被多次重復編譯

vue中引入sass、scss,FAQ,vue.js,sass,scss

原因

  1. 產生的原因是因為在vue.config.js中通過@import指令導入了SCSS樣式文件`,并且在vue組件庫內或者全局樣式內再次引入,導致樣式類被多次重復編譯

  2. vue.config.js是vue編譯的入口文件,所以vue在編譯時會先加載vue.config.js內配置的SCSS文件,而通過@import指令導入的文件,scss-loader會在編譯后將已經編譯的全局樣式變量、樣式類、帶入到后續(xù)scss文件的編譯中

解決方法

  1. 去掉多余的引用文件

例如以下代碼,在main.scss中引入了layout.scss文件,而layout.scss文件已經在vue.config.js中配置了載入,所以這里無需再引入

@import "@/assets/styles/layout.scss";

div {
    @extend .flex-row;
}

  1. 使用@use指令導入文件,避免文件被多次編譯
@use "@/assets/styles/layout.scss" as *;

div {
    @extend .flex-row;
}
  1. vue.config.js只配置工具性樣式文件,如果全局變量文件、全局樣式類文件;不要引入非工具性樣式文件,例如全局組件樣式、main.scss等。所以同理在App.vue文件中只引入非工具性樣式文件,因為如果在App.vue文件中引入工具性樣式文件不生效的,因為vue項目中,只有在vue.config.js中配置的樣式文件,才會被編譯到每個vue組件樣式內

如以下代碼,同樣會產生多次重復編譯

const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
    transpileDependencies: true,
    css: {
        loaderOptions: {
            scss: {
                additionalData: `@import "~@/assets/styles/main.scss";`
            }
        }
    }
});

2. 樣式類、變量名找不到

vue中引入sass、scss,FAQ,vue.js,sass,scss

原因

  1. 原因1:scss-loader在編譯scss時,是根據從上到下,從前到后的順序編譯,如果文件內的類名不在scss-loader的堆棧內時,就會拋出以上錯誤
  2. 原因2:@use導入的文件只對當前文件上下文有效,不會成為全局屬性

解決方法

  1. 原因1:檢查引入scss文件的順序是否正確

例如如下代碼:當variables.scss文件位于layout.scss文件后時,在編譯layout.scss時就會拋出變量不存在錯誤,因為此時scss-loader的堆棧中沒有對應的變量文章來源地址http://www.zghlxwxcb.cn/news/detail-796873.html

const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
    transpileDependencies: true,
    css: {
        loaderOptions: {
            scss: {
                additionalData: `@import "~@/assets/styles/layout.scss","~@/assets/styles/variables.scss";`
            }
        }
    }
});

  1. 原因2:
  • 如果報錯位置是在scss文件中:需要檢查對應的文件是否被引入,如果沒有引入,需要引入對應的文件
  • 如果報錯位置是在vue組件內,需要查看vue.config.js的配置中是否引入了對應的文件

3. @use rules must be written before any other rules.

原因

  1. 原因1:被引用文件內存在使用@use指令導入,而引用文件通過@import指令導入被引用文件;因為@use指令不能和其他指令混合
  2. 原因2:@use指令寫在了 @import指令后

解決方法

  1. 問題1:所以在引用文件內使用@use ‘xxxxx’ as * 作為導入語法
@use '~@/xxx/xxx' as *;
  1. 問題2:所有的@use指令必須放在最前面
@use '~@/xxx/xxx' as *;
@import '~@/xxx/xx';

4. Private members can’t be accessed from outside their modules.

原因

  1. 問題產生原因是,當使用@use導入文件后,因為被應用文件在聲明變量或方法時在方法時,在變量名或方法名前添加了-或者_,導致變量或方法成為了當前模塊 的私有變量或私有方法
  2. 通過@use方法導入的文件,都會被sass認為是一個單獨的模塊,每個模塊之間是相互獨立的,所以要想使用某個模塊屬性,就必須是非私有屬性,這也就是為什么,@use可以避免樣式被重復編譯,因為每個模塊只會編譯一次

解決方法

  1. 去掉非私有屬性前的-_

到了這里,關于vue中引入sass、scss的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Sass 和 SCSS

    Sass 和 SCSS

    ?Sass (Syntactically Awesome StyleSheets),是由 buby語言 編寫的一款 css預處理語言 ,和html一樣有 嚴格的縮進風格 ,和css編寫規(guī)范有著很大的出入,是不使用花括號和分號的,所以不被廣為接受。 Sass 是一款強化 CSS 的輔助工具,是對 CSS 的擴展 ,它在 CSS 語法的基礎上增加了 變量

    2023年04月08日
    瀏覽(16)
  • Frontend - SASS / SCSS 文件使用

    目錄 一、安裝所需依賴 1. django-compressor? 2. django-sass-processor 二、settings.py 文件配置 三、html使用 1. 配置 2. 導入 1. django-compressor? 2. django-sass-processor 安裝依賴,可參考另一篇文章:Backend - 安裝依賴(pip 、tar.gz)_python通過tar.gz包安裝依賴包-CSDN博客 1. 配置 2. 導入

    2024年01月24日
    瀏覽(16)
  • sass和scss 有何區(qū)別?

    Sass(Syntactically Awesome Style Sheets)和 SCSS(Sassy CSS)都是用于編寫樣式表的CSS預處理器,它們有很多相似之處,但也有一些重要的區(qū)別: 1、語法差異: Sass 使用縮進來表示代碼塊,類似于Python。它使用縮進和換行符來區(qū)分不同的代碼塊。 SCSS 使用更類似于傳統(tǒng)CSS的語法,使用花

    2024年02月09日
    瀏覽(26)
  • CSS革命:用Sass/SCSS引領前端創(chuàng)新

    在現代的前端開發(fā)中,CSS已成為呈現網頁和應用程序樣式的核心。然而,原生的CSS語法在大型項目中可能變得混亂、冗長且難以維護。 為了解決這些問題,SCSS(Sass CSS)和Sass(Syntactically Awesome Style Sheets)應運而生。 本文將帶你簡單了解sass和scss。 sass中文網 scss中文網 SCSS(

    2024年02月13日
    瀏覽(22)
  • Less、Sass/Scss是什么?他們有什么區(qū)別?

    是一種動態(tài)樣式語言. 對CSS賦予了動態(tài)語言的特性,如變量、繼承、運算、函數。 Less 既可以在客戶端上運行 (支持IE 6+, Webkit, Firefox),也可在服務端運行。 是一種動態(tài)樣式語言,Sass語法屬于縮排語法, 比css比多出好些功能(如變量、嵌套、運算,混入(Mixin)、繼承、顏色處理,

    2023年04月22日
    瀏覽(24)
  • vue、uniapp如何在js中獲取scss的變量

    vue、uniapp如何在js中獲取scss的變量

    舉例:在uniapp中會有一個uni.scss文件,我這邊聲明了一個$my-nav-bgColor的變量 uni.scss已經預處理過了,我們不需要引入可以直接使用 需要在uni.scss中導出 在你要用的頁面引入 就可以正常使用了 自己定義的scss文件同樣,只是多了一步引入

    2024年02月10日
    瀏覽(15)
  • uni-app 之 安裝uView,安裝scss/sass編譯

    uni-app 之 安裝uView,安裝scss/sass編譯

    uni-app 之 安裝uView,安裝scss/sass編譯 image.png image.png image.png 點擊HBuilder X 頂部,工具,插件安裝,安裝新插件 image.png image.png 安裝成功! 注意,一定要先登錄才可以安裝 image.png 1. 引入uView主JS庫 在項目根目錄中的 main.js 中,引入并使用uView的JS庫,注意這兩行要放在 import Vu

    2024年02月10日
    瀏覽(35)
  • SCSS 學習筆記 和 vscode下載live sass compiler插件配置

    SCSS 學習筆記 和 vscode下載live sass compiler插件配置

    SCSS 是一個 CSS 的預處理器,是 CSS 的擴展語言,可以幫助我們減少重復的代碼,生成更好的 CSS 格式化代碼,并且兼容所有版本的 CSS SCSS 是 對于 CSS3 的 SASS ,所以我們學的時候,把文件后綴寫為 “.scss” 由于我們的配置,當遇到兼容性代碼,出口文件會自動配置,如下圖

    2024年02月12日
    瀏覽(22)
  • 一文分清:Less、Sass、Scss、stylus,看看與css的對比

    一文分清:Less、Sass、Scss、stylus,看看與css的對比

    CSS 預處理器是一種將預先定義的語法和功能添加到 CSS 中的工具。它們允許開發(fā)人員使用變量、嵌套規(guī)則、混合、繼承等功能,以更高效和可維護的方式編寫樣式表。 ? CSS 預處理器的作用包括: 變量和計算 :預處理器允許開發(fā)人員使用變量來存儲顏色、字體、尺寸等值,以

    2024年01月25日
    瀏覽(24)
  • 【前端面經】CSS-less/sass/scss的區(qū)別和基本使用

    隨著Web開發(fā)的不斷發(fā)展,CSS預處理器變得越來越流行。它們?yōu)閃eb開發(fā)者提供了一種更高效、更簡便的CSS編寫方式。Less、Sass以及SCSS作為最受歡迎的三種CSS預處理器,它們都為CSS編寫提供了不同的特點和功能。 在本篇博客中,我們將會探討這三種預處理器之間的區(qū)別以及它們的

    2024年02月06日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包