【问题标题】:IntelliJ Javascript "Cannot Find Declaration to go to" when using custom module path使用自定义模块路径时 IntelliJ Javascript“找不到要转到的声明”
【发布时间】:2016-01-12 17:16:53
【问题描述】:

我正在尝试将 Javascript ES6 导入语法与配置为使用 clientnode_modules 作为解析导入的根路径的 WebPack 一起使用。

IntelliJ Idea 从“node_modules”目录发现模块,但无法解析“client”目录中的路径。

例如:

当我使用时:

  • import ImmutableStore from 'alt/utils/ImmutableUtil'; - IntelliJ 找到正确的路径,因为 alt 模块位于 node_modules 目录中

  • import CustomiserActions from 'js/actions/Customiser.actions.js'; - 它不起作用,因为js 模块位于client 目录中。

我在模块设置/项目设置/将目录标记为源根目录/添加外部库中尝试了许多选项,但似乎没有任何效果。

IntelliJ Idea 版本:14.1.5

【问题讨论】:

  • 问题是 IntelliJ 对 webpack 没有适当的支持,检查这个问题stackoverflow.com/questions/31164331/…,他们正在积极开发这个功能到 Webstorm 的下一个版本,我想在下一个版本的intellj 这将被包括在内。

标签: javascript node.js intellij-idea webpack node-modules


【解决方案1】:

我知道这是旧线程。仅供参考,将父目录(在本例中为“js”)标记为“资源根”,然后 Intellisense 将在 2016 版本上运行。

【讨论】:

  • 这应该被标记为正确答案。快速简便的修复
【解决方案2】:

什么对我有用:

文件 > 使缓存无效/重新启动...

【讨论】:

    【解决方案3】:

    根据我自己的经验,IntelliJ 默认会在node_modules 目录中搜索源文件,除非它是这样的相对路径:

    import CustomiserActions from './js/actions/Customiser.actions.js';
    

    根据您的项目的结构/构建方式,这可能是您问题的解决方案。

    【讨论】:

      【解决方案4】:

      在我的例子中,我有一个 Javascript 项目,并且 *.js 文件未被识别为 javascript 文件(注意带有 JS 的图标),而是被识别为文本文件。

      IntelliJ -> Preferences... -> Editor -> File Types
      

      确保 *.js 扩展名列在 JavaScript 下并且对于 Text 文件类型不存在

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-15
        • 2022-12-22
        • 2017-06-28
        • 1970-01-01
        • 2013-05-15
        • 1970-01-01
        • 2018-08-24
        • 1970-01-01
        相关资源
        最近更新 更多