我想使用和更改其他组件的全局变量,我的文件结构如下所示...
我的变量位于 global.sass 文件中,但我无法访问其他组件中的变量。
您需要设置配置文件
vite.config.js
:
css: {
preprocessorOptions: {
scss: {
additionalData: `@import "@/assets/global.scss";`
}
}
},
对于本地字体,您可以在那里添加另一个配置,设置别名:
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
}
},
然后使用它,例如:
@font-face {
font-family: 'Opensans-Bold';
font-style: normal;
src: local('Opensans-Bold'), url(@/assets/fonts/OpenSans-Bold.woff2) format('woff2');
}
注意:Sass 团队不鼓励继续使用 @import 规则。萨斯 将在未来几年内逐步淘汰它,并最终将其完全从语言中删除。更喜欢 @use 规则。 (请注意,目前只有 Dart Sass 支持 @use。其他实现的用户必须改用 @import 规则。)
更多详情:这里
下面是当时全局scss最好的方式
export default defineConfig({
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "~/styles/_main.scss" as *;`,
},
},
},
plugins: [vue()],
});
$default: #000000;
$default-light: #333333;
$default-dark: #000000;
@forward './colors';
@forward ...
@forward './abstracts';
@forward './components';
@forward './layouts';
import "./index.scss"
中添加这个
App.vue
@forward './styles/abstracts';
@use './styles/abstracts' as *;
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
font-size: 62.5%;
}
body {
font-family: $font-primary;
font-size: 1.6rem;
line-height: 1.5;
text-rendering: optimizespeed;
color: $text;
overflow-y: overlay;
}
错误:模块循环:该模块已被加载。 ╷ 1 │ @use '@/shared/assets/styles/global.scss' as *;@forward "./core";
我的推荐有此错误 Vue 3,维特 dev 命令正常工作但构建抛出此错误
复制请看
npx @gurovdmitriy/be-boilerplate-stack@latest