2016-07-20 4 views
5

Я пытаюсь импортировать крипто-js в мой проект angular2.Импортировать крипто-js в проект с угловым 2 (созданный с угловым cli)

Я последовал за несколько SO вопросов, а также angular-cli guide, но в конце концов я все еще есть ошибки не удается найти модуль «крипто-JS»

Что я пробовал:

npm install crypto-js --save

и

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

Затем я изменил файл углового 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/система-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';

У меня все еще есть моя ошибка. Я что-то пропустил ?

Благодаря

ответ

0

Хорошо я получил его. Я просто загружаю файл DefinitelyTyped в typings/crypto-js /, а затем добавляю строку /// <reference path="../../typings/crypto-js/crypto-js.d.ts" /> перед импортом CryptoJS.

+0

Эта ссылка не работает ... Я использовал [link] (https://github.com/DefinitelyTyped/DefinitelyTyped/tree/4869992bc079b88280b9ff91213528904109e8ae/crypto-js) и добавил, что файлы в: node_modules/crypto-js, а затем в моем классе I import: import * as CryptoJS from '../../../node_modules/crypto-js' – antonio

0

радиально-кли еще есть некоторые проблемы интеграции сторонних плагинов. Поэтому не забудьте добавить его в index.html. Добавить как этот путь

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

Я думаю, что это решит вашу проблему :)

Update

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

Все еще ничего:/ – Greg

+0

Есть ошибки? можете ли вы также отправить сообщение об ошибке? –

+0

Несомненно. http://pastebin.com/PxtS0shb – Greg

7

Это может помочь вам:
https://github.com/Uisli21/SecureAngularLogin


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

затем:

import * as CryptoJS from 'crypto-js'; 

или

import CryptoJS = require('crypto-js'); 
+1

'import * как CryptoJS из 'crypto-js';', Это хорошо! – Catscarlet

0

Вы можете попробовать следующее как Soluti по:

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


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


3. AES.encrypt('my message', 'secret key'); 
+0

благодарит @ xdevs23 за отредактированное улучшение. – zjx

+0

Я использую SHA3, и я узнаю, что: 'import {SHA3} из« crypto-js »;' делает dist.js немного толстым, чем 'import * как SHA3 из 'crypto-js/sha3';'. Это около 100 КБ. Я не знаю почему. – Catscarlet