WebStorm打字推断

时间:2017-02-26 12:28:04

标签: typescript webstorm typescript-typings package.json

我正在使用TypeScript构建库。我创建了声明文件并添加了' typings '我的package.json的选项(我也尝试使用' types ')。 现在我的问题是当我尝试安装软件包时,WebStorm不会推断出这种类型(例如,它与Angular2的工作方式相反)。

似乎我错过了我的package.json / typings,所以:

index.d.ts:

echo '<b class="color-green">Active</b><span class="pull-right"><a class="btn btn-xs btn-info" href="bot/option.php?id='.$crot['id'].'&type=task&status=off" aria-label="Active"><i class="fa fa-play" aria-hidden="true"> Active</i></a>';

用法:

declare module 'my-library' {
  export * from "my-library/index";
}

declare module 'my-library/index' {
  export {
    LibraryLogic
  }
  from "my-library/LibraryLogic";
}

declare module 'my-library/LibraryLogic' {
  export class LibraryLogic {
    constructor(someNumber: number);
  }
}

注意:一切都编译得很好,只是如果WebStorm自动完成它们,程序员就可以更轻松地使用我的库。

3 个答案:

答案 0 :(得分:1)

使用WebStorm 2016.3.3

对我来说很好。

我的设置:

  1. 在我的项目package.json中我添加了"my-library"作为依赖项
  2. {li} in node_modules/my-library/package.json我有:"types": "./index.d.ts"

    enter image description here

答案 1 :(得分:0)

  

一切都编译得很好,只是如果WebStorm自动完成它们,程序员就可以更容易地使用我的库。

  • 如果您的图书馆适用于TSC
  • 只有WebStorm需要@admin.site.register(MyModel): class MyAdmin(admin.ModelAdmin): model = MyModel class Media: js = ("/static/js/savefirst.js",)

然后请向WebStorm提出问题。

为什么

Webstorm在TypeScript之上使用自己的闭源代码智能,stackoverflow可以帮助你。

它应该可以正常使用Raw TypeScript(又名VSCode / alm.tools等)。

答案 2 :(得分:0)

打字稿足够聪明,可以找到您的打字文件夹,但WebStorm却不够。您需要将@types文件夹添加到tsconfig.json中的compileOptions中。

  "compilerOptions": {
    "typeRoots": ["node_modules/@types", "./typings"] // <-- Add your typings path here
  },

typeRoots帮助typescript查找自定义类型的文件夹。最后,仔细检查您的IDE是否使用tsconfig.json文件。

官方文档:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html