NativeScriptException: не удалось найти модуль: "crypto" - PullRequest
1 голос
/ 01 апреля 2019

Я пытаюсь запустить в nativescript библиотеку openpgp, чтобы использовать ее шифрование, после того, как мне удается установить и запустить ее, когда я пытаюсь ее использовать, у меня появляется эта ошибка

JS: Angular is running in the development mode. Call enableProdMode() to enable the production mode.
JS: ERROR Error: Uncaught (in promise): Error: com.tns.NativeScriptException: Failed to find module: "crypto", relative to: app/tns_modules/

мой package.json есть так

  "dependencies": {
    "@angular/animations": "~7.2.0",
    "@angular/common": "~7.2.0",
    "@angular/compiler": "~7.2.0",
    "@angular/core": "~7.2.0",
    "@angular/forms": "~7.2.0",
    "@angular/http": "~7.2.0",
    "@angular/platform-browser": "~7.2.0",
    "@angular/platform-browser-dynamic": "~7.2.0",
    "@angular/router": "~7.2.0",
    "@mattiasbuelens/web-streams-polyfill": "^0.3.2",
    "address-rfc2822": "^2.0.4",
    "asmcrypto.js": "^2.3.2",
    "asn1.js": "^5.0.1",
    "bn.js": "^4.11.8",
    "browserify-derequire": "^1.0.0",
    "buffer": "^5.2.1",
    "compressjs": "^1.0.3",
    "crypto-js": "^3.1.9-1",
    "elliptic": "^6.4.1",
    "hash.js": "^1.1.7",
    "nativescript-angular": "^7.2.3",
    "nativescript-localstorage": "^2.0.0",
    "nativescript-nodeify": "^0.8.0",
    "nativescript-theme-core": "~1.0.4",
    "node-fetch": "^2.3.0",
    "node-localstorage": "^1.3.1",
    "openpgp": "^4.4.10",
    "reflect-metadata": "~0.1.12",
    "rusha": "^0.8.13",
    "rxjs": "~6.3.0",
    "rxjs-compat": "^6.4.0",
    "tns-core-modules": "^5.4.0-next-2019-03-29-153458-02",
    "web-stream-tools": "0.0.1",
    "zone.js": "~0.8.26"
   }

если кто-то знает что-то, пожалуйста, не могли бы вы сказать мне, и если вы знаете, как использовать открытую библиотеку pgp в нативном сценарии,было бы очень полезно

1 Ответ

0 голосов
/ 02 апреля 2019

Ваш пакет NPM не будет работать с NativeScript, если он имеет зависимости от пакетов из движка Node, например, crypto.

Обходной путь - использовать плагин nativescript-nodeify , который поддерживает несколько пакетов из движка Node, таких как fs, crypto и т. Д.,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...