在 Angular 个库中保留符号链接

Preserve Symlinks in Angular Libraries

我有问题。

我正在尝试使用 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
  }

什么也没发生。

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

我怎样才能做到?

谢谢!

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

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

希望对您有所帮助!

将此添加到我的 tsconfig.lib.json 对我有用:

 "angularCompilerOptions": {
    "preserveSymlinks": true
  }

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

在 angular 13 中...这允许我使用带有 ng serve

的符号链接