5

我目前正在开发一个 Angular 6 项目,其中包含使用 ng-packagr 构建和发布的多个库。其中一个库是组件库。因此,它包含多个组件,每个组件都有自己的 scss。作为使用 ng-packagr 构建此库的一部分,html 和 scss 被内联(并转译为 css),这是正常的和预期的行为。

我知道,在使用构建标准 Angular 应用程序时,@angular-devkit/build-angular:browser有一个标志extractCss将创建一个 styles.css 文件,作为包含所有样式的构建应用程序的一部分。

有没有办法使用 ng-packagr 做到这一点?

ng-package.json:

{
  "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
  "dest": "../../dist/storager",
  "lib": {
    "umdModuleIds": {
      "@ngrx/effects": "effects",
      "@ng-bootstrap/ng-bootstrap": "ngBootstrap",
      "@ngrx/store": "store",
      "@ngrx/router-store": "fromNgrxRouter",
      "ngrx-store-localstorage": "ngrxStoreLocalstorage",
      "@ng-select/ng-select": "ngSelect",
    },
    "entryFile": "src/public_api.ts",
    "styleIncludePaths": ["../", "../styles/scss"]
  }
}

在 angular.json 中为我的库构建配置:

"build": {
          "builder": "@angular-devkit/build-ng-packagr:build",
          "options": {
            "tsConfig": "projects/storager/tsconfig.lib.json",
            "project": "projects/storager/ng-package.json"
          }
4

0 回答 0