我正在尝试将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;
}
}
仍然得到错误。我还应该做什么?
由于
答案 0 :(得分:2)
对于我的场景,这是离子应用,我在使用打字时面临同样的问题。经过一些研究,我发现最好使用@type而不是打字。所以我在npm包下面使用
https://www.npmjs.com/package/@types/crypto-js
之后我导入模块如下
导入*作为CryptoJS来自&#39; crypto-js&#39;;
希望它对你有用。
享受您的编码:)