Невозможно динамически загружать модули в Angular 5 и Hyperledger Composer - PullRequest
0 голосов
/ 04 мая 2018

Я создал приложение 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.log(connection);
          })
          .catch((err) => {
            console.log(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)

Чтобы добавить немного больше контекста к ситуации, я также получил следующую ошибку при компиляции с веб-пакетом:

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

Я подозреваю, что это как-то связано с динамически загружаемыми модулями, но я посмотрел и попробовал все решения, содержащиеся в следующих выпусках / сообщениях:

Я надеялся, что кто-нибудь сможет технически объяснить, что здесь происходит и где мне следует искать решения. Спасибо!

1 Ответ

0 голосов
/ 04 мая 2018

Я не очень знаком с Angular, но связано ли это с вашим модулем.exports в Angular - возможно, с вашим модулем ./app/routes? Определили ли вы маршруты - некоторые ресурсы, которые могут помочь -> NodeJs: TypeError: require (...) не является функцией , а экспресс-обсуждение аналогичной проблемы здесь .

И последнее, что нужно проверить, это то, что модули npm компоновщика были установлены с помощью npm install в вашем проекте, и ваш package.json имел правильные зависимости.

...