Как заставить Angular 6+ использовать встроенную в браузер криптографию вместо @ trust / webcrypto? - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь избавиться от следующей ошибки:

Unhandled Promise rejection: Cannot find module 
"../algorithms/RSASSA-PKCS1-v1_5". ; Zone: <root> ; 
Task: Promise.then ; Value: Error: Cannot find module 
"../algorithms/RSASSA-PKCS1-v1_5".
    at webpackEmptyContext (algorithms sync:2)
    at SupportedAlgorithms.normalize (SupportedAlgorithms.js:84)
    at SubtleCrypto.importKey (SubtleCrypto.js:279)

Я также использовал @angular-builders/custom-webpack, чтобы заставить webpack не полагаться на @trust/webcrypto, следуя инструкциям, указанным на эта проблема Github .

И это мой webpack.config.json (который, я не думаю, действительно работает):

module.exports = {
    externals: {
        'node-fetch': 'fetch',
        'text-encoding': 'TextEncoder',
        'whatwg-url': 'window',
        'isomorphic-fetch': 'fetch',
        '@trust/webcrypto': 'crypto'
    }
}

Моя текущая конфигурация:

Angular CLI: 6.2.4
Node: 10.6.0
OS: darwin x64
Angular: 6.1.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.8
@angular-devkit/build-angular     0.6.8
@angular-devkit/build-optimizer   0.6.8
@angular-devkit/core              0.6.8
@angular-devkit/schematics        0.8.4
@angular/cdk                      6.4.7
@angular/cli                      6.2.4
@angular/material                 6.4.7
@ngtools/webpack                  6.0.8
@schematics/angular               0.8.4
@schematics/update                0.8.4
rxjs                              6.3.3
typescript                        2.7.2
webpack                           4.8.3
...