angular - 使用 enableIvy: false 编译 Angular 9 库会出现错误
问题描述
我正在用 Angular 9/ng-packagr 编译一个库,它可以工作。但是,如果我更改angularCompilerOptions
并禁用 Ivy "enableIvy": false
,则会收到以下错误:
错误:由模块'MyModule in my-project/projects/my-lib/src/app/ 导入的意外值'OtherLibModule in .../node_modules/other-lib-module/other-lib-module.d.ts'我的.module.ts'。请添加 @NgModule 注释。
OtherLibModule
是我创建的另一个库,使用 Angular 9 和"enableIvy": false
.
解决方案
问题是public-api.ts
inotherlib
正在导出文件夹,而不是桶文件(索引)。所以我改变了
export * from "./lib";
至
export * from "./lib/index";
public-api.ts
并且它起作用了。问题是生成otherlib-metadata.json
的未包含所有必需的元数据。
关于这个问题还有一个报告的问题https://github.com/ng-packagr/ng-packagr/issues/355。我不敢相信两年多后它还没有解决。
推荐阅读
- python - jinja2.exceptions.UndefinedError: 'dict object' 没有属性 'imageLinks'
- ios - tcp_input [C5.1:3] 标志=[R.] seq=2934102331
- c# - 如何将此 json 字符串转换为 jobject
- wikipedia-api - 维基百科转储文件上的功能
- html - 如何在物化 css 导航栏中将按钮内的图标居中对齐?
- python - python(ctypes)中的回调问题
- python-3.x - 在 Visual Studio 中创建虚拟环境
- node.js - 在 google-cloud/storage 中替代 AWS 的 bucket.putObject() 方法
- python - 张量从 (256, 256, 3) 重塑到 (1,256, 256, 3)
- python - 来自 pytest 的 status_code 不等于真实的