即使在添加类型定义文件之后,Typescript Intellisense甚至无法在VS代码中工作

时间:2017-02-11 19:54:12

标签: typescript visual-studio-code typescript-typings

我开始了一个项目,了解外部加载的类型如何与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"
}

1 个答案:

答案 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"
  }
}

Demonstration of the jsSHA intellisense working.