如何从我的打字稿文件中导入javascript文件?

时间:2016-04-28 14:35:04

标签: javascript typescript angular ecmascript-6 es6-module-loader

我正在使用Typescript& angular 2.我有一个EncryptionService:

import {Injectable} from 'angular2/core';
  import './lib/hmac256-enc64';

  @Injectable()
  export class EncryptionService {
    constructor() {
    }
    hmacSha256(message: string, secret: string) {
      return CryptoJS.HmacSHA256(message, secret).toString(CryptoJS.enc.Base64);
    }
  }

我想要包含'./lib/hmac256-enc64'; (CryptoJS)但是在运行时我收到错误:

检测为注册但未执行。

如何在我的EncryptionService中包含Js文件作为依赖项?

1 个答案:

答案 0 :(得分:1)

您需要使用typings下载CryptoJS类型定义:

$ typings install cryptojs --ambient --save

然后添加对类型定义的引用并导入CryptoJS:

/// <reference path="./typings/main.d.ts" />

import * as CryptoJS from "cryptojs"

如果导入不起作用,请使用旧的外部模块:

import CryptoJS = require('cryptojs');

然后您可以使用CryptoJS.HmacSHA256

请注意,我从未将CryptoJS与TypeScript一起使用,所以我无法100%确定这项工作......