如何解决Buefy 对 Sass 样式没有反应
这里是初学者...我有一个简单的 Vue (2) 应用程序并安装了 node-sass 和 sass-loader。按照说明 here。
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 run serve - 我的应用程序运行良好 - 但只有默认的 Bulma 样式。那就是 - 如果我添加:
<style lang="css">
.somestyle {
color: red;
}
</style>
... 然后点击“保存” - 应用以正确的样式加载。但是如果我在浏览器中点击刷新 - 自定义样式就会消失,我会回到原来的 Bulma 样式。基本上,我无法让自定义 scss“粘住”。
我已经在不同的应用程序中使用(据我所知)完全相同的设置!这个问题正在困扰我:-/
"vue": "^2.6.12","buefy": "^0.9.4","bulma": "^0.9.3","node-sass": "^5.0.0","sass-loader": "^10.1.0"
不确定这里还包括什么 - 但任何想法都将不胜感激!
解决方法
我认为问题实际上可能是您没有全局连接变量。
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";'
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。