无法在Angular 5和Hyperledger Composer中动态加载模块

时间:2018-05-03 22:30:07

标签: angular hyperledger-composer

我构建了一个Angular 5应用程序,目标是从卡片档案中加载 private fileAccepted(file: File): void { let fileReader = new FileReader(); fileReader.readAsArrayBuffer(file); fileReader.onloadend = () => { this.cardService.importCard(fileReader.result).then((card) => { this.card = card; const connProfile = this.card.getConnectionProfile(); this.connectionProfileManager.connectWithData(this.card.getConnectionProfile(), this.card.getBusinessNetworkName()) .then((connection) => { console.log(connection); }) .catch((err) => { console.log(err); }); }); } 。我似乎无法弄清楚如何在我的Angular应用程序中动态加载模块。当我加载卡存档文件,然后尝试通过以下代码连接到正在运行的业务网络时,我收到一个错误。

Error: Failed to load connector module "composer-connector-hlfv1" for connection type "hlfv1". curmod.require is not a function-connectionManagerLoader.require is not a function-Cannot find module "."
    at Promise.resolve.then (connectionprofilemanager.js:144)
    at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:388)
    at Object.onInvoke (core.js:4760)
    at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:387)
    at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.run (zone.js:138)
    at zone.js:872
    at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:4751)
    at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
    at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)

以下是此错误:

WARNING in ./node_modules/composer-common/lib/connectionprofilemanager.js
132:57-69 Critical dependency: the request of a dependency is an expression
 @ ./node_modules/composer-common/lib/connectionprofilemanager.js
 @ ./node_modules/composer-common/index.js
 @ ./src/app/services/identity-card.service.ts
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi (webpack)-dev-server/client?http://localhost:4200 ./src/main.ts

要为情况添加更多上下文,我在使用webpack编译时也收到以下错误:

{{1}}

我怀疑这与动态加载的模块有关,但我已经查看并尝试了以下问题/帖子中包含的所有解决方案:

我希望有人可以从技术上解释这里发生了什么以及我应该在哪里寻找解决方案。谢谢!

1 个答案:

答案 0 :(得分:0)

我对Angular并不熟悉,但这与Angular中的module.exports有关 - 可能在你的./app/routes模块中?你有没有定义路线 - 一些可能有用的资源 - > NodeJs : TypeError: require(...) is not a function并针对类似问题here进行快速讨论。

最后一件事是检查作曲家npm模块是否已在项目中使用npm install安装,而package.json具有正确的依赖关系。