我目前正在开发一个 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"
}