我用sass创建了一个新的角度项目,我创建了一个名为sass的文件夹,其中包含一个名为_variables.scss的文件,
在app组件中我尝试导入这样的变量。
@import 'variables'
当我运行服务时,我收到以下错误:
./ SRC /应用/ app.component.scss 模块构建失败:
@import 'variables'
^
File to import not found or unreadable: variables.
in C:\Users\Bonge\Documents\Projects\movies_database\movies-client\src\app\app.component.scss (line 1, column 1)
注意我将以下内容添加到angular.json:
"stylePreprocessorOptions": { "includePaths": [ "src/", "src/sass/" ]
目录结构只是一个角度启动应用程序:
|- src/
|- sass/
|- _variables.scss
|- _mixins.scss
|- styles.scss
我仍然得到同样的错误:我在这里做错了什么?任何帮助
答案 0 :(得分:25)
我意识到这是一个比较老的问题,但是不断出现在搜索中,因此我认为应该进行更新。有一种方法可以定义自己的SASS导入路径,例如node_modules
库,您需要做的就是在angular.json文件的stylePreprocessorOptions
部分中创建一个options
条目。您无需使用src\sass
"options": {
"outputPath": "dist/App",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/sass/styles.scss"
],
"stylePreprocessorOptions": {
"includePaths": [
"src/sass"
]
},
"scripts": []
},
然后按照您的样式,只需使用
即可导入它们注意:请勿包含文件扩展名或首字母~
。
@import 'variables'; // Imports from src/sass
@import 'mixins;
答案 1 :(得分:18)
谢谢所有人:
在一个新的角度v6中:导入sass文件与以前的版本相比有点不同。
我只需要在组件
中导入这样的内容@import "~src/sass/variables"; // note: without file extension
现在一切正常
感谢大家的帮助