让IntelliJ了解Babel的moduleRoot的用法

时间:2016-04-02 12:40:56

标签: intellij-idea intellij-15

对于我们的项目,我们使用EcmaScript 6到 Babel Gulp npm

我们有三个项目: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无法理解此导入方案。我们使用 moduleRoot moduleId options of Babel在gulp构建过程中识别我们的AMD模块。完成后,我们将所有内容连接成一个大文件。这是有效的,但是IntelliJ并不知道我们这样做了。

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

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

1 个答案:

答案 0 :(得分:0)

我面临同样的问题。我正在寻找一种摆脱烦人的相对路径的方法,但要让他们使用IntelliJ是另一项工作。

可以在这里找到符号链接方法有什么用处。 https://gist.github.com/branneman/8048520

IntelliJ可以很好地与query = new Query(); $messages = $query->select(['name', 'message', 'date'])->from(['`user`','`message`'])->where('`user`.id = `message`.id_user AND id_addressee = '.$id.' AND id_user = '.Yii::$app->user->id)->orderBy('date')->all(); in view I make a selection like this: <?php foreach($messages as $mess): ?> <tr> <td> <?= Html::encode("{$mess->user->name}") ?> </td> <td> <?= Html::encode("{$mess->message}") ?> </td> <td> <?= Html::encode("{$mess->date}") ?> </td> </tr><?php endforeach; ?> 一起使用,因此您可以在node_modules中对符号链接指向真实的文件夹。然后我想IntelliJ将能够解决您的导入。