Intellij IDEA解析本地require()路径[node.js]

时间:2016-01-08 13:26:15

标签: node.js intellij-idea

我正试图在我的快速设置中避免相对require()次呼叫。我还想避免将我的代码放在node_modules文件夹中。简而言之,我正在尝试实现this gist中描述的任何方法。

任何这些解决方案都适用于使用nodenpm执行代码。但是,我正在尝试找到一个解决方案,也将得到Intellij IDEA代码解析器的支持,即尝试确保“转到声明”并自动完成提示工作。

我尝试了以下

  • 在运行配置中设置NODE_PATH
  • 使用全局前缀,即require( global.__base + "mylib")
  • 将符号链接文件夹添加到node_modules/

lib/文件夹中的符号链接添加到node_modules/lib/确实有效,但有两点需要注意:

  • 源文件的更改未自动获取,因此我必须手动“同步”node_modules/lib
  • 当“去声明”时,IntelliJ(当然)会打开node_modules/lib/mylib而不是lib/mylib。这可能会导致混淆,因为实际文件和符号链接文件可以在单独的窗口中打开。

而不是采用不同的方式来要求本地路径(所有这些方法毕竟都与node一起使用),我很乐意向IDEA提示它应该搜索lib/来源文件夹。

1 个答案:

答案 0 :(得分:4)

所以,我意识到如果你通过Project Structure > Libraries添加一个库,它实际上不会被启用。

相反,转到Preferences > Languages & Frameworks > Javascript > Libraries并添加新库。将框架类型设置为node_modules,将可见性设置为Project并添加lib文件夹。

添加后,请确保选中Enabled复选框。

即便如此,Intellij现在可以解析您的require('mylib')路径。

使用问题中提到的要点中的任何方法来实际获取node来解析路径。