我创建了一个数据库,然后尝试将数据库包含到另一个创建的库中。建造得很好,但收到了 - “在output.globals中没有提供外部模块'my-data'的名字 - 猜测'myData'”。我错过了什么?
完成重新创建的步骤。
我-core.module.ts
import { NgModule } from '@angular/core';
import { MyCoreComponent } from './my-core.component';
import { MyDataModule } from 'my-data';
@NgModule({
declarations: [MyCoreComponent],
imports: [MyDataModule],
exports: [MyCoreComponent]
})
export class MyCoreModule { }
这是因为您有一个外部依赖项,并且您需要声明所使用的名称,以便汇总知道在构建my-core
的UMD包时要查找的内容。
要修复警告,请在my-data
中声明你的ng-package.json
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/my-core",
"lib": {
"entryFile": "src/public-api.ts",
"umdModuleIds": {
"my-data": "my-data"
}
}
}
我相信这是因为因为所有依赖关系都被视为外部而你的my-data
没有像npm那样安装,你需要声明预期的UMD模块ID。见https://github.com/ng-packagr/ng-packagr/blob/master/docs/dependencies.md#resolving-umd-module-identifiers