首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Nuxt/Buefy定制Bulma变量?

如何通过Nuxt/Buefy定制Bulma变量?
EN

Stack Overflow用户
提问于 2021-07-16 19:06:13
回答 2查看 630关注 0票数 1

在使用Nuxt和Buefy时,如何自定义Bulma变量?

看起来Nuxt在加载我的Sass vars之前正在加载Bulma/Buefy,在那里我设置了我的自定义值。

nuxt.config.js

代码语言:javascript
复制
export default {
  target: 'static',
  head: {},
  css: [
    '~/assets/bulma-vars.sass'
  ],
  plugins: [],
  components: true,
  buildModules: [
    '@nuxt/typescript-build',
  ],
  modules: [
    ['nuxt-buefy', {css: true}],
  ],
  build: {}
}

bulma-vars.sass

代码语言:javascript
复制
$danger: orange

如何在Bulma/Buefy被启动之前设置vars?

-更新

按照@kissu通过插件实现这一目标的想法,我开始着手这项工作。

nuxt.config.js

代码语言:javascript
复制
plugins: [
    '~/plugins/set-bulma-vars.js'
],

plugins/set-bulma-vars.js

代码语言:javascript
复制
@import '~/assets/set-bulma-vars.sass'

assets/set-bulma-vars.sass

代码语言:javascript
复制
$danger: #00f

...but --在作用域中的变量看来,Bulma不能继承它们,因此忽略了我的vars (尽管加载了插件CSS )。

因此,到目前为止,我解决这个问题的唯一方法是通过我自己的答案,如下所示。

EN

回答 2

Stack Overflow用户

发布于 2021-07-16 19:18:26

我使用这样的变量创建了一个/assets/scss/custom_buefy.scss文件

代码语言:javascript
复制
@import "~bulma/sass/utilities/_all";
// the line above is important

$primary: hsl(168, 59%, 47%);
$link: hsl(24, 94%, 66%);
$info: hsl(200, 100%, 75%);
...

来定制我们的应用程序。

然后创建一个/plugins/vue-buefy.js文件来导入它。

代码语言:javascript
复制
import '~/assets/scss/custom_buefy.scss'

然后,将其导入我们的nuxt.config.js文件

代码语言:javascript
复制
plugins: [
  { src: '@/plugins/vue-buefy', mode: 'client' },
],

到目前为止工作还不错。也许不是最好的配置,但是足够灵活,可以定制CSS,也可以根据需要导入一些特定的组件(而不是整个库)。

我的出发点不是CLI (我确实使用buefy包),所以YMMV。

票数 1
EN

Stack Overflow用户

发布于 2021-07-17 17:47:59

最后,这就是我所做的。

首先,在nuxt.config.js > modules中禁用Buefy的自动加载

代码语言:javascript
复制
modules: [
    ['nuxt-buefy', {css: false}],
]

这解决了Buefy (和Bulma)在我们有机会设置任何主题变量之前的加载问题。

接下来,创建一个Sass文件,例如bulma-vars.css

代码语言:javascript
复制
$danger: orange
@import "~bulma/bulma"
@import "~buefy/src/scss/buefy"

(~bulma/bulma~buefy/src/scss/buefy分别是与node_modules中的主要Bulma文件和Buefy文件的相对路径。)

将其添加到nuxt.config.js > css

代码语言:javascript
复制
css: [
    '~/assets/bulma-vars.sass'
]

也许有更好的方法(我已经看到通过Nuxt样式-资源模块,或者通过自定义插件--参见@kissu的回答)来执行此操作的参考信息,但是这至少是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68414158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档