没有为外部模块提供名称

问题描述 投票:2回答:1

我创建了一个数据库,然后尝试将数据库包含到另一个创建的库中。建造得很好,但收到了 - “在output.globals中没有提供外部模块'my-data'的名字 - 猜测'myData'”。我错过了什么?

完成重新创建的步骤。

  • ng new test-project --create = application = false
  • cd测试项目
  • npm审核修复
  • of g library my-data
  • 我的核心库
  • g应用程序地址簿
  • 构建我的数据
  • 然后在my-core.module中从'my-data'添加import {MyDataModule};
  • 然后在my-core.module中添加导入:[MyDataModule]
  • 构建我的核心

我-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 { }
  • 构建之后得到“在output.globals中没有为外部模块'my-data'提供名称 - 猜测'myData'”
angular angular7
1个回答
6
投票

这是因为您有一个外部依赖项,并且您需要声明所使用的名称,以便汇总知道在构建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

© www.soinside.com 2019 - 2024. All rights reserved.