WebStorm 和 TypeScript:如何导航到包的 JS 源文件?

2024-04-10

假设在我的 TypeScript 项目中,我使用 Express 和如下方法:

response.send('Hello');

我想看看如何send()方法被实施。但是,当我在 WebStorm 中按住 Ctrl 键并单击方法名称时,它会将我带到.d.ts文件(TypeScript 定义)而不是真正的源。可以理解,但有点不愉快。到达源头的最简单方法是什么?


获取源代码的最简单方法是禁用相应的库(如果d.ts文件作为库下载)/从项目中删除打字稿定义。然后WebStorm将尝试在.js文件中查找定义。

有一个功能请求可以将 TypeScript 定义与可用的定义“合并”.js定义,使用d.ts为了完成和.js- 用于导航(WEB-12630 https://youtrack.jetbrains.com/issue/WEB-12630)。这里唯一的问题是 WebStorm 不能总是找到正确的定义.js- 这就是使用 TypeScript 定义的原因。例如,如果模块属性是通过迭代文件系统中的文件来定义的:

fs.readdirSync(__dirname + '/middleware').forEach(function(filename){
  if (!/\.js$/.test(filename)) return;
  var name = basename(filename, '.js');
  function load(){ return require('./middleware/' + name); }
  exports.middleware.__defineGetter__(name, load);
  exports.__defineGetter__(name, load);
});

解决它们的完成/导航似乎是不可能的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebStorm 和 TypeScript:如何导航到包的 JS 源文件? 的相关文章

随机推荐

  • Django - 当文件等于 maxBytes 时旋转文件处理程序卡住

    我在使用 Django 时遇到 RotatingFileHander 问题 问题是 当文件达到 maxBytes 大小时 它不会创建新文件 并在您尝试执行 logger info any message 时给出错误消息 奇怪的部分是 没有人
  • 我们有 php 应用程序服务器(不是 Web 服务器)吗?

    对于 Java 我们有不同的应用程序服务器 例如 WebSphere 和 Web 逻辑 我的疑问是我们有 PHP 应用程序服务器吗 到目前为止 我们正在使用 Apache 和 Nginx Web 服务器来运行 PHP Web 应用程序 应用
  • 在 R Markdown 中使用环境中的数据[重复]

    这个问题在这里已经有答案了 我正在尝试使用来自全球环境的数据R Markdown 当我打电话给 summary mydata 它给了我这个错误 未找到对象 mydata 我的所有作品都包含在许多不同的脚本中 因此对我来说创建一个 R每个结果
  • Backbone - 对 id 使用不同的字段名称

    我正在移植一个旧应用程序以使用backbone js 希望如此 问题是系统中的各种对象都没有使用 id 作为 id 每个对象都是不同的 通过阅读 我在初始化 Backbone Model 时提出了以下解决方案 initialize func
  • 材质按钮上的圆角

    我正在遵循以下问题的提示this https stackoverflow com questions 26346727 android material design button styles创建一个像 Material Design 中
  • JavaScript 私有方法

    要使用公共方法创建 JavaScript 类 我会执行以下操作 function Restaurant Restaurant prototype buy food function something here Restaurant pro
  • 为什么scala人不喜欢注释?

    NET 中的属性是一个非常流行的功能 而Java在1 5之后添加了Annotation 注解随处可见 请参阅 Java EE 和 Spring 但很少有scala库使用注释 lift json 不要使用它 lift record 不要使用它
  • Python3:没有 gzip 或 zlib?

    该模块现在有其他名称吗 我似乎找不到任何信息表明该模块已被弃用或完全删除 这会让我更加困惑 有谁知道这去哪儿了 Python 3 1 2 r312 79147 May 20 2010 09 09 30 GCC 4 1 2 20080704
  • Ruby on Rails 最佳托管(截至 2012 年)[已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 FileHelpers 动态创建 CSV 文件

    FileHelpers 支持一项名为 运行时记录 的功能 当您直到运行时才知道布局时 该功能可让您将 CSV 文件读入数据表中 是否可以使用 FileHelpers 以相同的方式在运行时创建 CSV 文件 根据某些用户输入 必须创建的 CS
  • 结构体指针数组

    我试图了解我的代码是否正确 我需要声明一个指向结构的指针数组 创建一个新结构并分配值并打印它们 在我看来 我没有正确声明指针数组 我需要知道我做错了什么 谢谢 我收到此编译错误 错误 people 未声明 首次在此函数中使用 我尝试插入 s
  • 将小吃栏移动到底部栏上方

    我在新的底栏上遇到了一些问题 我无法强制将小吃栏移动到底部栏上方 这就是设计指南告诉我应该的方式https www google com design spec components bottom navigation html botto
  • 提高由整数商定义的变量的精度

    假设我有以下程序 program derp implicit none integer parameter ikind selected real kind 18 real kind ikind a 2 0 3 0 print a end
  • System.getproperty("spring.profiles.active") 在 JPA 实体监听器中总是获取 Null

    我正在尝试获取 Spring 活动配置文件JPA实体监听器使用System getproperty spring profiles active 但它总是返回空配置文件 但是我已经检查了服务器并且配置文件配置正确 我尝试使用环境获取 Spr
  • 如何更改过去的提交以包含丢失的文件?

    我已提交更改 但忘记将文件添加到更改集中 在其他提交之后 我意识到该文件现在从HEAD 4 commit 如何重写以前的提交以包含丢失的文件 我意识到人们可以谷歌并来这里找到一个更简单的答案 如果这只是最后一次提交怎么办 OP的问题是修复历
  • 如何使用 Spring Boot 和 Cassandra 将枚举持久化为序数?

    我已添加到实体的枚举字段 CassandraType type DataType Name INT 然而 在发送到 Cassandra 的语句中使用的不是枚举的序数 而是字符串表示形式 因此我收到以下错误 org springframewo
  • POI:意外的记录类型 org.apache.poi.hssf.record.HyperlinkRecord

    我正在执行一项简单的任务 读取 Excel 文件并将其转换为对象 不过 我在读取 Excel 文件 xls 时遇到问题 我将从外部系统接收它 也许他们自动生成它 如果我打开它并进行简单的保存 无论是否更改 Excel 文件中的任何内容 我的
  • C++ tbb_debug.dll 丢失

    我是 openCV 的新手 我尝试遵循一些教程 一切工作正常 直到我包含 opencv2 imgproc imgproc hpp 并使用 filter2D 函数 当我启动我的程序时 出现以下错误 程序无法启动 因为您的计算机缺少 tbb d
  • DataContractSerializer 和已知类型

    我正在代码中序列化一个对象 不是通过 WCF 调用 并且我对已知类型有点沉迷 我已将它们与 WCF 一起使用 但没有将 DataContract 序列化器作为 独立 序列化器使用 当我运行下面的代码时出现异常 我希望它运行时不会出现错误 因
  • WebStorm 和 TypeScript:如何导航到包的 JS 源文件?

    假设在我的 TypeScript 项目中 我使用 Express 和如下方法 response send Hello 我想看看如何send 方法被实施 但是 当我在 WebStorm 中按住 Ctrl 键并单击方法名称时 它会将我带到 d