首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >复制资产作为角9库构建的一部分

复制资产作为角9库构建的一部分
EN

Stack Overflow用户
提问于 2020-08-11 11:56:26
回答 1查看 1.1K关注 0票数 1

我读到这篇文章: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的一部分

代码语言:javascript
复制
"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如下所示:

代码语言:javascript
复制
{
  "$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"
}

如果将资产移动到下面的级别,则没有错误,但没有复制任何资产:

代码语言:javascript
复制
{
  "$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"
}

有人知道我做错了什么吗?

EN

Stack Overflow用户

回答已采纳

发布于 2020-08-12 11:40:59

我想出来了。只需编辑ng-package.json文件并添加资产:

代码语言:javascript
复制
"assets": [
  ".npmrc"
],

会复制你的文件。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63357621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档