web-dev-qa-db-ja.com

angular 2プロジェクト(angular-cliで作成)にcrypto-jsをインポートします)

Angular2プロジェクトでcrypto-jsをインポートしようとしています。

いくつかのSO質問と angular-cliガイド に従いましたが、最後にはまだエラーがありますモジュールが見つかりません ' crypto-js '

私が試したもの:

npm install crypto-js --save

そして

typings install dt~crypto-js --global --save

次に、ファイルを変更しましたangular-cli-build.js

var Angular2App = require('angular-cli/lib/broccoli/angular2-app');

module.exports = function(defaults) {
  return new Angular2App(defaults, {
    vendorNpmFiles: [
      'systemjs/dist/system-polyfills.js',
      'systemjs/dist/system.src.js',
      'zone.js/dist/**/*.+(js|js.map)',
      'es6-shim/es6-shim.js',
      'reflect-metadata/**/*.+(ts|js|js.map)',
      'rxjs/**/*.+(js|js.map)',
      '@angular/**/*.+(js|js.map)',
      'crypto-js/**/*.+(js|js.map)'
    ]
  });
};

およびファイルsrc/system-config.ts

const map: any = {
    'crypto-js': 'vendor/crypto-js'
};

/** User packages configuration. */
const packages: any = {
    'crypto-js': {
        format: 'cjs'
    }
};

使用後

import * as CryptoJS from 'crypto-js';

まだエラーがあります。私は何か見落としてますか ?

ありがとう

8
Greg

はい、分かりました。 typings/crypto-js /に DefinitelyTyped ファイルをダウンロードしてから、/// <reference path="../../typings/crypto-js/crypto-js.d.ts" /> CryptoJSをインポートする前。

0
Greg

これはあなたを助けるかもしれません:
https://github.com/Uisli21/SecureAngularLogin


$ npm install crypto-js --save
$ npm install @types/crypto-js --save-dev

その後:

import * as CryptoJS from 'crypto-js';

または

import CryptoJS = require('crypto-js');
24

あなたは解決策として以下を試すことができます:

1. npm install --save @types/crypto-js


2. import { AES } from "crypto-js";


3. AES.encrypt('my message', 'secret key');
2
zjx

Angular-cliには、サードパーティのプラグインを統合するための問題がまだあります。したがって、index.htmlに追加することを忘れないでください。このように追加します

<script src="vendor/crypto-js/crypto-js.js"></script> 

私はそれがあなたの問題を解決すると思います:)

更新

const map: any = {
    'crypto-js': 'vendor/crypto-js'
};



/** User packages configuration. */
const packages: any = {
    'crypto-js': {
        format: 'cjs',
        defaultExtension: 'js',
        main: 'crypto-js.js'
    }
};
0
pd farhad