我开始了一个项目,了解外部加载的类型如何与Typescript编程一起工作。所以我开始使用导入JsSHA的ts文件,以下是我用来测试该库工作的代码。
import * as jsSHA from "jssha";
class sha{
shaObj: any;
hash : string;
constructor(){
this.shaObj = new jsSHA("SHA-512","TEXT");
this.shaObj.update("This is a test object");
this.hash = this.shaObj.getHash("HEX");
}
}
var s:sha = new sha();
console.log(s.hash);
除了通过npm添加JsSha.js之外,我还根据所说的here添加了该库的类型定义(.d.ts)。尽管做了这一切,我仍然没有得到任何与JsSha对象或该库的构造方法相关的智能感知。我在这里错过了一些我应该做的事情,以便让事情顺利进行。
PS:我重新启动了VS Code,以防万一由于缓存而导致任何问题。还更新了所有具有任何更新的现有软件包。
我在2.1.6使用TS,这是我的package.json文件中的依赖项和devdependencies:
"dependencies": {
"jssha": "^2.2.0",
"retyped-jssha-tsd-ambient": "0.0.0-0",
"typescript": "^2.1.6",
"typings": "^2.1.0"
},
"devDependencies": {
"retyped-jssha-tsd-ambient": "0.0.0-0"
}
答案 0 :(得分:1)
以下设置在我的机器上提供intellisense。它从NPM中获取声明文件,即the future of declaration files。
{
"name": "temp",
"version": "0.0.0",
"dependencies": {
"jssha": "^2.2.0",
"typescript": "^2.1.6"
},
"devDependencies": {
"@types/jssha": "0.0.29"
}
}