stylePreprocessorOptions在@ Angular / cli 7上不起作用

Eri*_*ier 5 sass angular-cli angular

因此,我正在尝试“ whitelabelyze”我的应用程序,以便为多个客户端提供多种设计选项。在组件的scss内部,我需要加载一个'_variables.scss',该文件将位于此'themes'文件夹下,其结构如下:

/
- themes
-- client-1
--- _variables.scss
-- client-2
--- _variables.scss
Run Code Online (Sandbox Code Playgroud)

在我的angular.json内部,我有以下配置:

"projects": {
  "client-1": {
     ...
     "architect": {
       "build": {
         ...
         "options": {
           ...
           "stylePreprocessorOptions": {
             "includePaths": [
               "themes/client-1"
             ]
           },
           "styles": [
             "src/styles.scss",
           ]
           ...
         }
         ...
       }
     },

     "client-2": {
     ...
     "architect": {
       "build": {
         ...
         "options": {
           ...
           "stylePreprocessorOptions": {
             "includePaths": [
               "themes/client-2"
             ]
           },
           "styles": [
             "src/styles.scss",
           ]
           ...
         }
         ...
       }
     }
  }
Run Code Online (Sandbox Code Playgroud)

根据文档,我做对了,但是我的scss文件没有正确加载文件“变量”。这是我的scss文件上的导入:

@import "variables";
Run Code Online (Sandbox Code Playgroud)

这是发生的错误:

ERROR in ./src/app/app.component.scss
Module build failed (from ./node_modules/sass-loader/lib/loader.js):

@import "variables";
^
      File to import not found or unreadable: variables.
      in /Users/erick/Projects/sample-project/src/styles.scss (line 2, column 1)
Run Code Online (Sandbox Code Playgroud)

有什么建议如何处理吗?

Eri*_*ier 8

我发现了问题。

我是在加载themes/client-X而不是src/themes/client-Xangular.json


Sim*_*ens 6

我在运行测试时遇到了同样的问题,解决方案是将相同的样式添加stylePreprocessorOptions到 angular.json 中的测试配置以及构建配置中