15

我有个问题。

我正在尝试使用 ng-cli 创建 Angular 8 库,但我无法使用npm link.

我试图在我的 angular.json 上添加这个:

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

但得到:

"Schema validation failed with the following errors: Data path ""
should NOT have additional properties(preserveSymlinks)."

我发现它不适用于图书馆。

然后我尝试将其添加到我的 tsconfig.lib.json 中:

 "angularCompilerOptions": {
    "annotateForClosureCompiler": true,
    "skipTemplateCodegen": true,
    "strictMetadataEmit": true,
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true,
    "enableResourceInlining": true,
    "preserveSymlinks": true
  }

什么也没发生。

我在这里搜索解决方案,但找不到类似的东西。

我怎样才能做到?

谢谢!

4

3 回答 3

22

我相信您需要在将使用您的库的项目中的 angular.json 中添加 preserveSymlinks 选项。例如,我在本地进行测试,并将其添加到我的架构师 -> 构建 -> 选项中。

您可以在这里找到更多信息:https ://dev.to/nieds/getting-started-building-component-libraries-with-angular-cli-4ncj

希望这可以帮助!

于 2019-11-27T21:18:19.250 回答
0

将此添加到我tsconfig.lib.json为我工作的内容中:

 "angularCompilerOptions": {
    "preserveSymlinks": true
  }

您确定您没有覆盖此属性tsconfig.lib.prod.json并进行生产构建吗?

于 2021-10-19T19:12:02.543 回答
0

在 Angular 13 中...这允许我使用符号链接ng serve

在此处输入图像描述

于 2022-02-26T15:46:21.557 回答