如何使用角度库中的scss文件创建组件

oli*_*ier 5 sass shared-libraries angular

我创建了一个 scss 应用程序并关联了一个库。我想在这个库中使用 .scss 文件创建组件。但是当我在库中创建一个组件时,Angular 会自动为其分配一个 css 文件。

我使用 scss 选项创建了应用程序(名为 vega-libraries),但没有创建库(polaris-common)

这是带有树视图的项目的屏幕截图,我尝试更改totoComponentin的 css 文件toto.scss,如屏幕截图中所示。

在此输入图像描述

但是当我这样做时,它会生成以下类型的错误:

错误:加载程序“C:/Users/........toto/toto.component.css”未返回字符串。

如何使用可用的 .scss 文件在我的库中创建组件?

感谢您的帮助

编辑 :

 "polaris-common": {
      "projectType": "library",
      "root": "projects/polaris-common",
      "sourceRoot": "projects/polaris-common/src",
      "prefix": "lib",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:ng-packagr",
          "options": {
            "project": "projects/polaris-common/ng-package.json"
          },
          "configurations": {
            "production": {
              "tsConfig": "projects/polaris-common/tsconfig.lib.prod.json"
            },
            "development": {
              "tsConfig": "projects/polaris-common/tsconfig.lib.json"
            }
          },
          "defaultConfiguration": "production"
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "projects/polaris-common/src/test.ts",
            "tsConfig": "projects/polaris-common/tsconfig.spec.json",
            "karmaConfig": "projects/polaris-common/karma.conf.js"
          }
        }
      }
    }
  },
  "defaultProject": "vega-libraries"
}
Run Code Online (Sandbox Code Playgroud)

fun*_*zer 13

这是针对 Angular 12 的。在之前的版本中可能有所不同。要在执行时设置scss为默认样式格式ng create component,请在angular.json项目下添加schematics

"projectType": "library",
"schematics": {
    "@schematics/angular:component": {
        "style": "scss"
    },
Run Code Online (Sandbox Code Playgroud)

在现有组件中,进行更改styleUrls以反映重命名文件的路径,scss而不是css

// toto.component.ts

@Component({
  styleUrls: ['./toto.component.scss']
})
Run Code Online (Sandbox Code Playgroud)


小智 5

ng g c "filename" --style=scss
Run Code Online (Sandbox Code Playgroud)

这是我实际上发现的最好的方法。