I'm trying to import crypto-js in my angular2 project.
I followed several SO questions and also angular-cli guide, but at the end I still have the error Cannot find module 'crypto-js'
What I tried :
npm install crypto-js --save
and
typings install dt~crypto-js --global --save
then I modified the file 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)'
]
});
};
and the file src/system-config.ts
const map: any = {
'crypto-js': 'vendor/crypto-js'
};
/** User packages configuration. */
const packages: any = {
'crypto-js': {
format: 'cjs'
}
};
After using
import * as CryptoJS from 'crypto-js';
I still have my error. Did I miss something ?
Thanks
Install using NPM and import below statement in you component file. npm install crypto-js import * as crypto from 'crypto-js'; now you can use crypto in your component file. Save this answer.
Angular 9 code:import * as CryptoJS from 'crypto-js'; encryptionKey: any = 'secret key string'; let encryptedStr = CryptoJS. AES. encrypt('123456', this. encryptionKey.
CryptoJS is a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface.
To encrypt and decrypt data, simply use encrypt() and decrypt() function from an instance of crypto-js. var bytes = CryptoJS. AES. decrypt(ciphertext, 'my-secret-key@123');
Ok I got it. I just download the DefinitelyTyped file in typings/crypto-js/ and then I add the line /// <reference path="../../typings/crypto-js/crypto-js.d.ts" />
before importing CryptoJS.
This may help you:
$ npm install crypto-js --save
$ npm install @types/crypto-js --save-dev
then:
import * as CryptoJS from 'crypto-js';
or
import CryptoJS = require('crypto-js');
You can try following as a solution:
1. npm install --save @types/crypto-js
2. import { AES } from "crypto-js";
3. AES.encrypt('my message', 'secret key');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With