J'essaie d'importer des crypto-js dans mon projet angular2.
J'ai suivi plusieurs SO questions et aussi guide angular-cli , mais à la fin j'ai toujours l'erreur Impossible de trouver le module ' crypto-js '
Ce que j'ai essayé:
npm install crypto-js --save
et
typings install dt~crypto-js --global --save
puis j'ai modifié le fichier 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)'
]
});
};
et le fichier src/system-config.ts
const map: any = {
'crypto-js': 'vendor/crypto-js'
};
/** User packages configuration. */
const packages: any = {
'crypto-js': {
format: 'cjs'
}
};
Après avoir utilisé
import * as CryptoJS from 'crypto-js';
J'ai toujours mon erreur. Ai-je oublié quelque chose ?
Merci
OK j'ai compris. Je viens de télécharger le fichier DefinitelyTyped dans typings/crypto-js/puis j'ajoute la ligne /// <reference path="../../typings/crypto-js/crypto-js.d.ts" />
avant d'importer CryptoJS.
Cela peut vous aider:
https://github.com/Uisli21/SecureAngularLogin
$ npm install crypto-js --save
$ npm install @types/crypto-js --save-dev
ensuite:
import * as CryptoJS from 'crypto-js';
ou
import CryptoJS = require('crypto-js');
Vous pouvez essayer la solution suivante:
1. npm install --save @types/crypto-js
2. import { AES } from "crypto-js";
3. AES.encrypt('my message', 'secret key');
Angular-cli a encore quelques problèmes pour intégrer des plugins tiers. Donc, n'oubliez pas de l'ajouter dans le index.html
. Ajouter comme ça
<script src="vendor/crypto-js/crypto-js.js"></script>
Je pense que cela résoudra votre problème :)
Mise à jour
const map: any = {
'crypto-js': 'vendor/crypto-js'
};
/** User packages configuration. */
const packages: any = {
'crypto-js': {
format: 'cjs',
defaultExtension: 'js',
main: 'crypto-js.js'
}
};