sass - 如何从 Vite 中的 node_modules 加载 scss 变量和字体文件
问题描述
我nuxt-vite
在 SSR nuxt 项目中使用,这是我的代码
nuxt.config.js
module.exports = {
css: [
'~/assets/fonts.scss',
]
}
我想@mdi/font
在我的项目中使用,这里是它位于 node_modules 中的位置:
- 首先,我尝试直接导入css:
@import '@mdi/font/css/materialdesignicons.css
- 然后,我尝试加载原始 scss 变量,就像我在使用 webpack whick 时所做的那样,没有任何问题。
@import "@mdi/font/scss/variables";
@import "@mdi/font/scss/functions";
@font-face {
font-family: '#{$mdi-font-name}';
src: url('@mdi/font/fonts/#{$mdi-filename}-webfont.eot?v=#{$mdi-version}');
src: url('@mdi/font/fonts/#{$mdi-filename}-webfont.eot?#iefix&v=#{$mdi-version}') format('embedded-opentype'),
url('@mdi/font/fonts/#{$mdi-filename}-webfont.woff2?v=#{$mdi-version}') format('woff2'),
url('@mdi/font/fonts/#{$mdi-filename}-webfont.woff?v=#{$mdi-version}') format('woff'),
url('@mdi/font/fonts/#{$mdi-filename}-webfont.ttf?v=#{$mdi-version}') format('truetype');
font-weight: normal;
font-style: normal;
}
@import "@mdi/font/scss/core";
@import "@mdi/font/scss/icons";
@import "@mdi/font/scss/extras";
@import "@mdi/font/scss/animated";
使用 vite 时如何使用 node_modules 中的字体?
我用谷歌搜索并阅读了文档,但帮助不大。
非常感谢任何人的帮助!
解决方案
将此添加到nuxt.config.js
vite: {
css: {
preprocessorOptions: {
scss: {
additionalData: `@import "~/assets/styles/Variables.scss";\n@import "~/assets/styles/Mixins.scss";\n`
}
}
}
},
推荐阅读
- c++ - 从浮点数中删除小数部分但保留类型的有效方法
- c++ - 我们可以使用运算符重载来改变减号的行为吗
- php - /index.php 仍然存在于 2 个 Laravel 应用程序中,尽管 .htaccess Apache 虚拟主机和子域托管 VPS
- c++ - 将 QByteArray 转换为 unsigned short:不符合预期
- vue.js - Vuejs如何在宽度变化时观察元素currentStyle
- selenium - Docker Selenium 配置在默认网桥上无法正常工作
- html - 如何将css应用于textarea中的特定单词
- selenium - webdriver 有没有办法自动检测浏览器 url 已更改?
- c# - 如果填充了当前行宽,则 WinForm 自动换行
- java - Jedis ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT 在此上下文中允许