我读到这篇文章:https://angular.io/guide/creating-libraries和它声明:
从ng-packagr工具的9.x版本开始,您可以将该工具配置为将资产自动复制到库包中,作为构建过程的一部分。当库需要发布可选的主题文件、Sass混合文件或文档(如changelog)时,可以使用此特性。
链接带您到这里:https://github.com/ng-packagr/ng-packagr/blob/master/docs/copy-assets.md
对我来说,这是如此模糊。它并没有告诉你该把这个选项放在哪里,但是从描述上看,它似乎是options的一部分
"options": {
"tsConfig": "projects/situ-angular-components/tsconfig.lib.json",
"project": "projects/situ-angular-components/ng-package.json",
"assets": [
"CHANGELOG.md",
"./styles/**/*.theme.scss"
]
},如果我这样做,我就会得到这样的错误:
架构验证失败,出现以下错误:数据路径"“不应具有其他属性(资产)。
我的完整angular.json如下所示:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"situ-angular-components": {
"projectType": "library",
"root": "projects/situ-angular-components",
"sourceRoot": "projects/situ-angular-components/src",
"prefix": "situ",
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
},
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "projects/situ-angular-components/tsconfig.lib.json",
"project": "projects/situ-angular-components/ng-package.json",
"assets": [
"CHANGELOG.md",
"./styles/**/*.theme.scss"
]
},
"configurations": {
"production": {
"tsConfig": "projects/situ-angular-components/tsconfig.lib.prod.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/situ-angular-components/src/test.ts",
"tsConfig": "projects/situ-angular-components/tsconfig.spec.json",
"karmaConfig": "projects/situ-angular-components/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/situ-angular-components/tsconfig.lib.json",
"projects/situ-angular-components/tsconfig.spec.json"
],
"exclude": ["**/node_modules/**"]
}
}
}
}
},
"cli": {
"analytics": "8db81fee-b0bd-41b0-a453-27aa6be6cc88"
},
"defaultProject": "situ-angular-components"
}如果将资产移动到下面的级别,则没有错误,但没有复制任何资产:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"situ-angular-components": {
"projectType": "library",
"root": "projects/situ-angular-components",
"sourceRoot": "projects/situ-angular-components/src",
"prefix": "situ",
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
},
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "projects/situ-angular-components/tsconfig.lib.json",
"project": "projects/situ-angular-components/ng-package.json"
},
"assets": [
"CHANGELOG.md",
"./styles/**/*.theme.scss"
],
"configurations": {
"production": {
"tsConfig": "projects/situ-angular-components/tsconfig.lib.prod.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/situ-angular-components/src/test.ts",
"tsConfig": "projects/situ-angular-components/tsconfig.spec.json",
"karmaConfig": "projects/situ-angular-components/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/situ-angular-components/tsconfig.lib.json",
"projects/situ-angular-components/tsconfig.spec.json"
],
"exclude": ["**/node_modules/**"]
}
}
}
}
},
"cli": {
"analytics": "8db81fee-b0bd-41b0-a453-27aa6be6cc88"
},
"defaultProject": "situ-angular-components"
}有人知道我做错了什么吗?
发布于 2020-08-12 11:40:59
我想出来了。只需编辑ng-package.json文件并添加资产:
"assets": [
".npmrc"
],会复制你的文件。
https://stackoverflow.com/questions/63357621
复制相似问题