vue.js - 2020年全球如何将scss文件添加到Vue项目
问题描述
我正在尝试将全局 scss 变量添加到我的 vue 项目中。
我发现here(css技巧)和here(vue school)我要做的是安装npm i node-sass sass-loader
在命令行中运行的sass-loader。
我的项目中还需要一个vue.config.js
包含以下内容的文件:
module.exports = {
css: {
loaderOptions: {
sass: {
prependData: `@import "@/styles/_variables.scss";`
}
}
}
};
_variables.scss
我要全局导入的文件在哪里。
当我npm run build
在我的项目中运行时,我收到此错误:
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: semicolons aren't allowed in the indented syntax.
╷
1 │ @import "@/styles/_variables.scss";
│ ^
╵
如果我删除分号:
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: expected ";".
╷
1 │ @import "@/styles/_variables.scss"
│
如果发现这个 stackoverflow 帖子说根据我的 sass-loader 版本,我必须将其更改prependData
为data
,其中 prependData 是 for"sass-loader": "^8.0.2"
和data
for"sass-loader": "^7.*.*"
我认为问题出在此处,因为根据我的 sass-loader 版本是 6.13.4
npm sass-loader -v
当我运行时,npm update sass-loader
我没有收到任何消息,但版本仍然是 6.13.4
根据npm最新的 sass-loader 版本是 9.0.2
有谁知道我做错了什么?
我的仓库在这里
解决方案
在最新版本中sass-loader
,data
还是prependData
不行。试试additionalData
吧
css: {
loaderOptions: {
scss: {
additionalData: `
@import "@/assets/styles/_responsive.scss";
@import "@/assets/styles/_element-variables.scss";
`
},
}
}
推荐阅读
- php - PHP mb_ereg_replace 不替换 UTF-8 字符
- spring-cloud - 用于 SSL 的 Spring Cloud Stream Binder Solace 配置
- python - 如果是奇数则返回数字的平方,如果是偶数则返回 (number-1) 平方
- asp.net-core - 在运行时应用迁移有什么缺点?
- mongodb - MongoDB查询优化或提高性能
- julia - 错误:MethodError:没有方法匹配 abs(::Array{Complex{Float64},1})
- json - Delphi 7:处理从网站读取的 JSON 响应中的 utf-8 数据
- r - 在shinyapps.io 上部署闪亮的应用程序时出错
- angularjs-directive - 如果绑定数据为空,想在 md-option 中显示自定义文本
- c - 使用单指针代替双指针