资产未从项目复制到 Angular 7 库中的 dist 文件夹

Assets not copied from project to dist folder in Angular 7 library

我已经通过 Angular CLI v7

生成了新库
ng generate library library-name

之后,我在 src 文件夹中创建了文件夹资产。所以我的文件夹结构是

| - src
| - - lib
| - - - assets

我的问题是,

ng build --project=library-name

我的 dist 文件夹中缺少资产。所有模块、组件、样式等都导出到 dist 文件夹中。但是,如果我在此层次结构中创建另一个目录,则目录根本不会导出到 dist。

如何在构建后强制将资产导出到 dist 文件夹中?

谢谢

CLI 目前不支持此功能,您可以在此处的 GitHub 问题中阅读更多内容:https://github.com/angular/angular-cli/issues/11071#issuecomment-395096971

建议的一个简单解决方法是在构建库后手动 cp -r path/to/lib/assets list/path/to/lib 资产。为此,您可以在 package.json 中使用 post 构建脚本。

这个问题大约从2020 年 1 月

src

tldr;

ng-package.json 或等值。你可以包括你想要捆绑的东西:

{
  ...,
  "assets": [
    "./assets",
    "CHANGELOG.md",
    "./styles/**/*.theme.scss"
  ],
  ...
}

主项目 glob

您还需要确保在导入打包库的 angular.json 中包含 glob。

浓缩示例:

"projects": { "hello-world": {
    "projectType": "application",
    "architect": { "build": { "options": {
      "assets": [
        ...,
        {
          "glob": "**/*",
          "input": "node_modules/your/library",
          "output": "./assets"
        }
      ]
} } } } }