0

我使用打字稿&角2.我有一个EncryptionService:如何从我的打字稿文件导入JavaScript文件?

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

这篇文章得到它为我工作。在system.js映射中注册它。 – Baconbeastnz

回答

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所以我不能100%地肯定这方面的工作...

+0

谢谢你的尝试..虽然没有工作。 – Baconbeastnz

相关问题