搜尋

首頁  >  問答  >  主體

Buefy 不辨識 Sass 樣式

初學者...我有一個簡單的 Vue (2) 應用程序,並安裝了 node-sass 和 sass-loader。請按照此處的說明進行操作。

Buefy 被導入到 main.js 中,這是(我的)App.vue 的(下半部):

<style lang="scss">
// Import Bulma's core
@import "~bulma/sass/utilities/_all";

// Set your colors
$primary: #8c67ef;
$primary-light: findLightColor($primary);
$primary-dark: findDarkColor($primary);
$primary-invert: findColorInvert($primary);
$twitter: #4099FF;
$twitter-invert: findColorInvert($twitter);

// Lists and maps
$custom-colors: null !default;
$custom-shades: null !default;

// Setup $colors to use as bulma classes (e.g. 'is-twitter')
$colors: mergeColorMaps(
    (
        "white": (
            $white,
            $black,
        ),
        "black": (
            $black,
            $white,
        ),
        "light": (
            $light,
            $light-invert,
        ),
        "dark": (
            $dark,
            $dark-invert,
        ),
        "primary": (
            $primary,
            $primary-invert,
            $primary-light,
            $primary-dark,
        ),
        "link": (
            $link,
            $link-invert,
            $link-light,
            $link-dark,
        ),
        "info": (
            $info,
            $info-invert,
            $info-light,
            $info-dark,
        ),
        "success": (
            $success,
            $success-invert,
            $success-light,
            $success-dark,
        ),
        "warning": (
            $warning,
            $warning-invert,
            $warning-light,
            $warning-dark,
        ),
        "danger": (
            $danger,
            $danger-invert,
            $danger-light,
            $danger-dark,
        ),
    ),
    $custom-colors
);

// Links
$link: $primary;
$link-invert: $primary-invert;
$link-focus-border: $primary;

// Import Bulma and Buefy styles
@import "~bulma";
@import "~buefy/src/scss/buefy";

</style>

所以我運行npm runserve - 我的應用程式運作良好 - 但只有預設的布瑪樣式。也就是說 - 如果我添加:

<style lang="css">
.somestyle {
 color: red;
}
</style>

...然後點擊「儲存」 - 應用程式會以正確的樣式載入。但是,如果我在瀏覽器中點擊刷新,自訂樣式就會消失,我會回到原來的布瑪樣式。基本上,我無法讓自訂 scss「黏住」。

我已經在另一個應用程式中使用了它(據我所知)完全相同的設定!這個問題困擾著我:-/

"vue": "^2.6.12",
"buefy": "^0.9.4",
"bulma": "^0.9.3",
"node-sass": "^5.0.0",
"sass-loader": "^10.1.0"

不確定這裡還包括什麼 - 但任何想法將不勝感激!

P粉460377540P粉460377540307 天前497

全部回覆(1)我來回復

  • P粉477369269

    P粉4773692692024-01-29 13:50:15

    我認為問題實際上可能是您沒有全域連接變數。

    https://vue-loader.vuejs .org/guide/pre-processors.html#sharing-global-variables

    #這是我如何將 Bulma 連接到我的 Vue 項目,我認為您可以在連接 Buefy 時使用相同的模式:

    // main.ts
    import '@/assets/scss/main.scss'
    // main.scss file
    @import "~bulma";
    @import "./_variables.scss";
    // _variables.scss file
    ...all my sass-variables...
    
    @import "~bulma/sass/utilities/_all";
    // vue.config.js
    module.exports = {
      css: {
        loaderOptions: {
          scss: {
            prependData: '@import "~@/assets/scss/_variables.scss";'
          }
        }
      }
    }

    回覆
    0
  • 取消回覆