Angular. json фрагмент:
"root": "",
"sourceRoot": "src",
"prefix": "ra",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": false,
"assets": [
"src/assets",
"src/favicon.ico",
],
"styles": [
"src/styles.scss"
],
"stylePreprocessorOptions": {
"includePaths": ["assets/scss"]
},
}
Новичок в Angular, и я думаю, что у меня есть легкая проблема, но я просто не понимаю внутреннюю работу как s css компилируется. Я импортирую некоторые s css в мой root styles.s css компонент. Вот что в styles.s css:
@import './assets/scss/global';
Вот что в _global.s css:
@import './variables';
И вот содержимое этого файла:
$spacer-4: 0.25em; //4px
$spacer-6: 0.375em; //6px
$spacer-8: 0.5em; //8px
$spacer-10: 0.625em; //10px
$spacer-12: 0.75em; //12px
$spacer-16: 1em; //16px
$spacer-20: 1.25em; //20px
$spacer-24: 1.5em; //24px
$spacer-30: 1.875em; //30px
$spacer-32: 2em; //32px
$spacer-36: 2.25em; //36px
Проблема в файле css компонента, который ссылается на одну из переменных. Из компонента выдается ошибка:
ERROR in ./src/navigation/app-navigation/app-navigation.component.scss
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
margin-top: $spacer-10;
^
Undefined variable.
Если я не получаю ошибку времени компиляции, что файл не найден, то я не должен видеть эту ошибку, верно?
Вот файловая структура приложения:
-- src
-- app
-- navigation
--app-navigation
-- app-navigation.component.scss
-- assets
-- scss
-- _global.scss
-- _variables.scss
-- styles.scss