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';
まだエラーがあります。私は何か見落としてますか ?
ありがとう
はい、分かりました。 typings/crypto-js /に DefinitelyTyped ファイルをダウンロードしてから、/// <reference path="../../typings/crypto-js/crypto-js.d.ts" />
CryptoJSをインポートする前。
これはあなたを助けるかもしれません:
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');
あなたは解決策として以下を試すことができます:
1. npm install --save @types/crypto-js
2. import { AES } from "crypto-js";
3. AES.encrypt('my message', 'secret key');
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'
}
};