我正在使用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文件作为依赖项?
答案 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%确定这项工作......