Я создал приложение Angular 5 с целью загрузки BusinessNetworkDefinition из архива карт. Кажется, я не могу понять, как динамически загружать модули в моем приложении Angular. Когда я загружаю архивный файл карты, а затем пытаюсь подключиться к работающей бизнес-сети с помощью следующего кода, я получаю сообщение об ошибке.
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.info(connection);
})
.catch((err) => {
console.info(err);
});
});
}
Вот ошибка, которую это вызывает:
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)
Чтобы добавить немного больше контекста к ситуации, я также получил следующую ошибку при компиляции с помощью webpack:
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
Я подозреваю, что это как-то связано с динамически загружаемыми модулями, но я просмотрел и попробовал все решения, содержащиеся в следующих проблемах / сообщениях:
Я надеялся, что кто-нибудь сможет технически объяснить, что здесь происходит и где мне следует искать решения. Спасибо!





Я не так хорошо знаком с Angular, но связано ли это с вашим module.exports в Angular - возможно, с вашим модулем ./app/routes? Вы определили маршруты - некоторые ресурсы, которые могут помочь -> NodeJs: TypeError: require (...) не является функцией и экспресс-обсуждение аналогичной проблемы здесь.
И последнее, что нужно сделать, это проверить также, что модули composer npm были установлены с помощью npm install в вашем проекте и что ваш package.json имел правильные зависимости.