crypto js:全局模块导出可能只出现在顶级角度输入中

时间:2017-08-07 06:59:00

标签: angular typescript ecmascript-6 cryptojs

我正在尝试将crypto-js与我的angular 2应用程序集成。

全局模块导出可能仅出现在顶级角度类型中。

我已阅读以下内容 link 1

In webpack how do I fix 'import declarations may only appear at top level of a module'?

但我无法实施解决方案

以下是我遵循的步骤。

1)使用类型安装crypto-js - > npm install --save @ types / crypto-js

2)然后在我的服务中添加了参考。以下是服务文件

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

import { Injectable } from '@angular/core';
import { LocalStorageService } from 'angular-2-local-storage';

import * as CryptoJS from 'crypto-js';

@Injectable()
export class AppLocalStorageService {

    constructor(public localStorageService: LocalStorageService) { }

    public setItem(key:any,value:any) {

        var enc = CryptoJS.MD5(key);
        console.log(enc);

    }

    public getItem(key:any) {
        return key;


    }

}

仍然得到错误。我还应该做什么?

由于

1 个答案:

答案 0 :(得分:2)

对于我的场景,这是离子应用,我在使用打字时面临同样的问题。经过一些研究,我发现最好使用@type而不是打字。所以我在npm包下面使用

https://www.npmjs.com/package/@types/crypto-js

之后我导入模块如下

导入*作为CryptoJS来自&#39; crypto-js&#39;;

希望它对你有用。

享受您的编码:)