【Vue】帮元件加上样式啦|修改 bootstrap 变数供全域样式共用 失败

将样式区分为全域样式/区域样式

全域样式:大多页面都会共用到的样式,reset & variable & maxin ...
区域样式:限制在单一元件里使用,不想渲染到其他样式。

<style scpoed>
</style>

背景

引用的 "bootstrap": "^5.1.3"因为颜色不符合专案需求,要重新宣告 bootstrap variable 的样式,实作前在查资料看到sass loader,原来 sass-loader 可以免於每个元件都一直重复引入变数。

先了解 SCSS 和 CSS 转换概念

  • 在 APP.vue & main.js 引入,都已经将 SCSS 转换为 CSS,就没有变数可以使用。
  • 在 vue.config.js 使用 webpack 引入,此时是变数的状态可供使用。

实际操作

  1. bootstrap/scss/_variable.scss 复制一份到 src/assets/scss/custom.scss

  2. 调整要修改的样式,并删掉後面 !default

$primary:       $green ;
$secondary:     $gray-600 !default;
  1. 安装 node-sass 及 sass-loader
npm install node-sass sass-loader -D
  1. 新增 vue.config.js
module.exports = {
    css: {
      loaderOptions: {
        scss: {
          prependData: `@import "@/assets/scss/custom.scss";`
        }
      }
    }
};

npm run serve 就出现错误讯息了? 目前还无解,有请大神帮帮忙!!

Syntax Error: SassError: ("primary": #7F977B, "secondary": #6c757d, "success": #7F977B, "info": #0dcaf0, "warning": #ffc107, "danger": #FF725E, "light": #f8f9fa, "dark": #212529) isn't a valid CSS value. ╷ 94 │ $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default; │ ^^^^^^^^^^^^^ ╵

参考来源:
https://wcc723.github.io/css/2016/12/17/bootstrap-custom/
https://leahlin912.github.io/2019/06/17/Webpack-在vue专案中引用SCSS/
https://medium.com/unalai/vue-专案中引入-scss-档案的四种方法-该如何使用呢-9babcd3a4ef1


<<:  React-视窗滚动改变DOM

>>:  风险评监(risk assessment)

CodeWars : 新手村练等纪录03- Stop gninnipS My sdroW!

Stop gninnipS My sdroW! 等级:6kyu 原始题目 Write a funct...

【从零开始的 C 语言笔记】第十一篇-指标

不怎麽重要的前言 上一篇我们总结了scanf的观念,也出了一个小小的作业希望让大家熟悉一下scanf...

Day 24 | Livewire 实作 购物网站(三): 加入购物车

实作了商品细节页之後就要把商品加进购物车啦,今天会把要买的东西存进 Laravel 的 Sessio...

Day21 NodeJS-Express VI

今天的内容是Express部份的最後一哩路:Restful API与应用程序结构化。前几天从前端到後...

SWOT和TOWS分析有什麽区别?

TOWS是什麽? TOWS 分析是经典商业工具 — SWOT 分析的变体,由 Heinz Weihr...