首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Vue 3中使用Scss变量重写Vue 3和Vue CLI使用Vue 3 Beta

在Vue 3中使用Scss变量重写Vue 3和Vue CLI使用Vue 3 Beta
EN

Stack Overflow用户
提问于 2022-03-21 21:24:36
回答 2查看 945关注 0票数 8

我正在使用Vue 3,Vuetify 3.0.0 (beta 0)和最新的Vue-CLI来完成一个项目。我正在尝试自定义vuetify字体,但是我在网上找到的覆盖vue sass变量的每一种方法都没有工作。

我所做的第一次尝试是在Vuetify网站上使用vuetify文档:https://next.vuetifyjs.com/en/features/sass-variables/

使用默认项目,我按指示添加了一个styles目录和variables.scss文件。在variables.scss文件中,我有以下内容:

代码语言:javascript
运行
复制
$body-font-family: cursive;

深入研究Vuetify lib目录中的变量,它看起来像是我需要重写的变量(当我将使用自定义字体时,现在草书应该确保使用不同的En应当字体来验证它是否有效)。

这不起作用,我尝试将目录更改为scss,得到了相同的结果(不导入),请参见下面的结果图像。

因此,我的第二次尝试是在文档中找到指向vue.config.js文件的https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vuetify-loader#customising-variables文件。这导致我将我的vue.config.js文件更改为:

代码语言:javascript
运行
复制
const { defineConfig } = require("@vue/cli-service");
const { VuetifyLoaderPlugin } = require("vuetify-loader");

module.exports = defineConfig({
  transpileDependencies: true,

  configureWebpack: {
    plugins: [new VuetifyLoaderPlugin({ styles: "expose" })],
  },

  pluginOptions: {
    vuetify: {
      // https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vuetify-loader
    },
  },
});

将一个main.scss文件添加到插件dir中,其内容如下:

代码语言:javascript
运行
复制
// main.scss
$font: cursive !important;

@use 'vuetify/styles' with (
  $color-pack: false,
  $utilities: false,
  $body-font-family: $font
);

这基本上删除了页面上的所有格式,但没有将文本更改为草书字体(见下图)。

在这一点上,我一直在网上搜索,却找不到任何有用的东西:

下面是使用我当前代码的git:https://github.com/dragonman117/Vuetify-Theme-Test

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-23 01:06:38

我刚和这个搏斗了两个小时,终于弄明白了。偶然发现你的问题,我想我会扔给你一根骨头,即使这是3个月后。

目前的问题是为这一目的修改3份文档并不是最新的。在此之后,我将尝试更新公关中的文档。关键的缺失部分是Vuetify loader被用于Vuetify 2,而Vuetify 3使用的是新的wepback-plugin-vuetify。当我偶然发现vuetify装入器的“下一步”分支(见自述)时,我发现了这一点。

无论如何,这是您在使用Vue CLI安装时所需的全部内容。

vuetify.ts

代码语言:javascript
运行
复制
import @/styles/variables.scss;
// the rest of your vuetify.ts file...

variables.scss

代码语言:javascript
运行
复制
@use "vuetify/styles" with (
  $body-font-family: "Comic Sans"
);

编辑:此外,我刚刚开始有问题,在我的字体家族中添加逗号后的“与”,所以我最后做了以下工作。这可能不是最好的SASSy解决方案,但充分考虑它们的语法,以便想出其他的atm:

variables.scss

代码语言:javascript
运行
复制
$body-font-family: Inter, sans-serif;

@use "vuetify/styles" with (
  $body-font-family: $body-font-family
);

希望这能有所帮助。祝好运。

票数 0
EN

Stack Overflow用户

发布于 2022-12-02 20:50:34

如果您想要覆盖默认的排版设置:

代码语言:javascript
运行
复制
@use 'vuetify/settings' with (
  $heading-font-family: Comic Sans,
  $body-font-family: Comic Sans,
  $typography: (
    'h1': (
      'size': 2rem,
      'weight': 500,
      'line-height': 2.2rem,
      'letter-spacing': 0,
      'font-family': Comic Sans,
      'text-transform': none
    ),
  ),
),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71564313

复制
相关文章

相似问题

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