在角度2项目中导入crypto-js(使用angular-cli创建)

Gre*_*reg 8 cryptojs angular

我正在尝试在我的angular2项目中导入crypto-js.

我跟着几个SO问题和angular-cli指南,但最后我仍然有错误找不到模块'crypto-js'

我尝试了什么:

npm install crypto-js --save

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

然后我修改了文件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)'
    ]
  });
};
Run Code Online (Sandbox Code Playgroud)

和文件src/system-config.ts

const map: any = {
    'crypto-js': 'vendor/crypto-js'
};

/** User packages configuration. */
const packages: any = {
    'crypto-js': {
        format: 'cjs'
    }
};
Run Code Online (Sandbox Code Playgroud)

使用后

import * as CryptoJS from 'crypto-js';

我还有错误.我错过了什么 ?

谢谢

Wes*_*Dev 24

这可能对您有所帮助:https:
//github.com/Uisli21/SecureAngularLogin


$ npm install crypto-js --save
$ npm install @types/crypto-js --save-dev
Run Code Online (Sandbox Code Playgroud)

然后:

import * as CryptoJS from 'crypto-js';
Run Code Online (Sandbox Code Playgroud)

要么

import CryptoJS = require('crypto-js');
Run Code Online (Sandbox Code Playgroud)

  • “从* crypto-js导入*作为CryptoJS;”,这很好! (3认同)

Gre*_*reg 0

我得到了它。我只是在typings/crypto-js/ 中下载DefinitelyTyped文件,然后/// <reference path="../../typings/crypto-js/crypto-js.d.ts" />在导入CryptoJS 之前添加该行。