2016-07-20 24 views
5

Angular2 projemde crypto-j'leri içe aktarmaya çalışıyorum.Bir açısal 2 projesinde crypto-js içe aktar (açısal-cli ile oluşturulmuş)

Birkaç SO soru ve ayrıca angular-cli guide takip etti, ama sonunda yine 'kripto-js'

Denedim Ne modül bulunamıyor hatası var:

npm install crypto-js --save

ve

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

sonra açısal 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)' 
    ] 
    }); 
}; 

ve dosya src/sistem 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';

kullandıktan sonra dosyanın değiştirilmiş

Hala hatam var. Bir şey mi kaçırdım ?

Teşekkür

cevap

0

Aldım çözecek düşünüyorum bu şekilde

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

gibi ekleyin. Ben sadece yazım/crypto-js/DefinitelyTyped dosyasını indirmek ve daha sonra CryptoJS ithal etmeden önce /// <reference path="../../typings/crypto-js/crypto-js.d.ts" /> hattı ekleyin.

+0

Bu bağlantı işe yaramıyor ... [link] (https://github.com/DefinitelyTyped/DefinitelyTyped/tree/4869992bc079b88280b9ff91213528904109e8ae/crypto-js) kullandı ve şu dosyaları ekledim: node_modules/crypto-js sonra sınıfım içe aktarılır: içe aktarma * içe aktarma * olarak CryptoJS'den '../../../node_modules/crypto-js' – antonio

0

Eğik-cli hala üçüncü taraf eklentileri entegre etmek bazı sorunları var. Yani, index.html'a eklemeyi unutmayın. Bunun sorununuzu :)

Güncelleme Tamam

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

Hala hiçbir şey:/ – Greg

+0

Herhangi bir hata var mı? hatayı da gönderebilir misin? –

+0

Elbette. http://pastebin.com/PxtS0shb – Greg

7

Bu size yardımcı olabilir: o zaman
https://github.com/Uisli21/SecureAngularLogin


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

:

import * as CryptoJS from 'crypto-js'; 

veya

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

'import * CryptoJS olarak 'kripto-js';', Bu iyi! Düzenlenmiş geliştirme için – Catscarlet

0

Bir soluti olarak aşağıdaki deneyebilirsiniz üzerinde:

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


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


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

teşekkürler @ xdevs23. – zjx

+0

SHA3 kullanıyorum ve şunu öğrendim: 'import {SHA3}," crypto-js ";' dist.js, 'crypto-js/sha3'; 'den SHA3 olarak ' import * 'dan biraz daha yağlandırır; Yaklaşık 100KB. Nedenini bilmiyorum. – Catscarlet