在 Vue CLI 3 项目中使用自定义 Bootstrap SASS 的步骤是什么?

Kei*_*ers 2 vue.js vue-cli bootstrap-vue

我正在尝试更改项目中的“主要”、“危险”、“信息”等主题颜色。我使用 bootstrap-vue。我尝试更改node_modules中bootstrap文件夹中的variables.sass文件,但没有任何反映。我查看了主题文档,但我似乎无法理解它,或者不知道我应该做什么。他们的示例看起来与 CLI 4 的脚手架项目完全不同。我应该创建自定义 sass 文件、安装 sass 加载程序并导入它吗?

main.js

import Vue from 'vue';
import App from './App.vue';
import VueRouter from 'vue-router';
import BootstrapVue from 'bootstrap-vue';
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap-vue/dist/bootstrap-vue.css';
import './assets/main.css';
import routes from './routes';


Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(BootstrapVue);

const router = new VueRouter({mode: 'history',routes});

new Vue({
  router,
  render: h => h(App)

}).$mount('#app')
Run Code Online (Sandbox Code Playgroud)

应用程序.vue

<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>
export default {
}
</script>

<style lang="css">
@import 'assets/main.css';
@import 'assets/custom_scss.scss';
</style>

Run Code Online (Sandbox Code Playgroud)

Hiw*_*iws 6

如果您使用 vue-cli 3/4 创建项目,则可以执行以下操作。创建一个custom.scss文件并在其中导入 bootstrap 和 bootstrap-vue 样式,并在导入之前自定义变量。

然后与 bootstrap-vue 一起导入custom.scss您的文件main.js

自定义.scss

$theme-colors: (
  "primary": black,
  "danger": blue
);

@import 'node_modules/bootstrap/scss/bootstrap';
@import 'node_modules/bootstrap-vue/src/index.scss';
Run Code Online (Sandbox Code Playgroud)

main.js

import Vue from "vue";
import BootstrapVue from "bootstrap-vue";

import "../assets/scss/custom.scss";
Vue.use(BootstrapVue);

new Vue({
  render: h => h(App)
}).$mount("#app");
Run Code Online (Sandbox Code Playgroud)

另一个注意事项是,您永远不应该在其中自定义任何代码node_modules,因为这些文件应该能够被删除并再次重新下载,而不会破坏任何内容。