Reputation: 1014
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
Upvotes: 10
Views: 41118
Reputation: 584
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');
Upvotes: 31
Reputation: 1
Add the script path in angular-cli.json file after installing cryto-js & @types/crypto-js
"scripts": [
"../node_modules/crypto-js/crypto-js.js"
]
Upvotes: 0
Reputation: 5053
Add this to your Package.JSON
file.
"browser": {
"crypto": false
}
Doing so will tell your application when you run ng serve
to not to bundle your Crypto library to serve to the browser.
Upvotes: 0
Reputation: 56
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');
Upvotes: 3
Reputation: 1014
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.
Upvotes: 0