0

对于我们的项目,我们通过BabelGulpnpm使用 EcmaScript 6 。

我们有三个项目:Base、Common 和 Game。

我们正在积极开发 Common 和 Game,因此我们已经检查了这些(以及从 Game 到 Common 的 npm 链接),而我们通过 npm 获取 Base 项目并且不经常更改它。

我们使用的导入路径以项目名称开头,例如import "Base/utils/svg"import "Game/model/boardtile"。根据文件系统上的映射如下:

  • Base/intellij-project/base-project-src/node_modules/base/
  • Common/intellij-project/base-project-src/js/
  • Game/intellij-project/game-project-src/js/

问题: IntelliJ 不理解这个导入方案。在 gulp构建过程中,我们使用 Babel 的moduleRootmoduleId 选项来识别我们的 AMD 模块。完成后,我们将所有内容连接到一个大文件中。这行得通,但 IntelliJ 不知道我们做了这个魔术。

有没有办法让 IntelliJ 理解我们的导入?这样它就会知道这Base/utils/svg实际上意味着/intellij-project/base-project-src/node_modules/base/什么?目前 IDE 主要是一个美化的文本编辑器,因为重构显然依赖于 IDE 对导入的理解。

注意:很遗憾,我无法更改导入结构,因为这是我无法更改的决定。我也不能切换到其他工具而不是上述工具,例如 WebPack。

4

1 回答 1

0

我面临同样的问题。我正在寻找一种方法来摆脱你们所做的烦人的相对路径,但让它们与 IntelliJ 一起工作是另一项工作。

可以在这里找到的符号链接方法可以提供帮助。 https://gist.github.com/branneman/8048520

IntelliJ 可以很好地与. 一起工作node_modules,因此您可以符号链接您的文件夹node_modules以指向真实的东西。然后我想 IntelliJ 将能够解决您的导入问题。

于 2016-05-19T09:44:40.533 回答