Не удается разрешить «crypto» в «./node_modules/sjcl» при использовании SJCL в angular 7 - PullRequest
0 голосов
/ 29 марта 2019

Я хочу зашифровать данные на стороне клиента. так что я нашел SJCL npm

Пролистал там документацию. Однако меньшее количество документации, предоставленной участниками SJCL, не может реализовать это в angular

Я пытался

я установил пакет

1. npm install --save sjcl

после этого я попытался установить определения типов также

2. npm install --save sjcl @types/sjcl

вот мой пакет. Json

{

«имя»: «имя проекта»,

"версия": "0.0.0",

«скрипты»: {

"ng": "ng",

"start": "ng serve",

"build": "ng build",

"test": "ng test",

"lint": "ng lint",

"e2e": "ng e2e"

},

"private": true,

"зависимости": {

"@angular/animations": "~7.1.0",

"@angular/cdk": "~7.1.0",

"@angular/common": "~7.1.0",

"@angular/compiler": "~7.1.0",

"@angular/core": "~7.1.0",

"@angular/forms": "~7.1.0",

"@angular/platform-browser": "~7.1.0",

"@angular/platform-browser-dynamic": "~7.1.0",

"@angular/router": "~7.1.0",

"@types/axios": "^0.14.0",

"@types/sjcl": "^1.0.28",

"angular-filepond": "^1.0.5",

"core-js": "^2.5.4",

"rxjs": "~6.3.3",

"sjcl": "^1.0.8",

"tslib": "^1.9.0",

"zone.js": "~0.8.26"

},

"devDependencies": {

"@angular-devkit/build-angular": "~0.11.0",

"@angular/cli": "~7.1.2",

"@angular/compiler-cli": "~7.1.0",

"@angular/language-service": "~7.1.0",

"@schematics/angular": "~7.1.0",

"@types/echarts": "^4.1.3",

"@types/jasmine": "~2.8.8",

"@types/jasminewd2": "~2.0.3",

"@types/node": "^8.9.5",

"codelyzer": "~4.5.0",

"jasmine-core": "~2.99.1",

"jasmine-spec-reporter": "~4.2.1",

"karma": "~3.1.1",

"karma-chrome-launcher": "~2.2.0",

"karma-coverage-istanbul-reporter": "~2.0.1",

"karma-jasmine": "~1.1.2",

"karma-jasmine-html-reporter": "^0.2.2",

"protractor": "~5.4.0",

"ts-node": "~7.0.0",

"tslint": "~5.11.0",

"typescript": "~3.1.6"

} }

Также Я сделал это

import * as sjcl from 'sjcl';

в одном из моих компонентов

Более того, я прошел по этой ссылке Использование библиотеки SJCL в Angular2

Когда я запускаю угловое приложение. , , я получаю

ПРЕДУПРЕЖДЕНИЕ в ./node_modules/sjcl/sjcl.js Модуль не найден: Ошибка: не удается разрешить 'crypto' в './node_modules/sjcl'

Примечание начинается:

используется sjcl.encrypt («пароль», «данные») но после console.log (sjcl.encrypt ("пароль", "данные")) показывает неопределенный

Примечание заканчивается:

Может быть, мое примечание не так идеально, или я определил это неправильно Теперь мой вопрос: «Как использовать SJCL для шифрования данных без этого предупреждения»

...