为啥自动导入会为 PhpStorm/WebStorm 中的根节点模块生成相对路径

Posted

技术标签:

【中文标题】为啥自动导入会为 PhpStorm/WebStorm 中的根节点模块生成相对路径【英文标题】:Why does auto import generate relative path for root node modules in PhpStorm/WebStorm为什么自动导入会为 PhpStorm/WebStorm 中的根节点模块生成相对路径 【发布时间】:2017-07-16 19:52:35 【问题描述】:

我的项目结构:

/website
   /node
     /node_module <<-- library root
     /type_src  <<-- ts files
     /src  <<-- compiled js files

我以前可以像这样自动导入根节点模块:

/type_src/store/BaseStore.ts:

import observer from "mobx-react/native";
@observer
class BaseStore


但最近,自动导入会为这些节点模块生成相对路径:

import observer from "../../node_modules/mobx-react/index";
@observer
class BaseStore


生成import observer from "mobx-react/native"; 的唯一方法是等待那个红灯泡出现,这不太方便。

我创建了另一个项目,它工作正常,但我不知道为什么这个项目突然出现这个问题。谁能帮我解决这个问题?

tsconfig:


  "compilerOptions": 
    "module": "commonjs",
    "target": "es6",
    "moduleResolution": "node",
    "removeComments": true,
    "allowSyntheticDefaultImports": true,
    "noImplicitAny": false,
    "sourceMap": true,
    "outDir": "./src",
    "jsx": "react",
    "experimentalDecorators": true,
    "noLib": false,
    "declaration": false,
    "emitDecoratorMetadata": true,
    "lib": ["es6", "dom"],
    "types": ["reflect-metadata"]
  ,
  "exclude": [
    "node_modules"
  ]

【问题讨论】:

供参考:JetBrains 问题跟踪器上的相同问题:youtrack.jetbrains.com/issue/WI-35197 【参考方案1】:

基于引用的链接,它是(已经修复的)webstorm 中的错误。

解决方案 - 升级到 2017.1 或更高版本

【讨论】:

以上是关于为啥自动导入会为 PhpStorm/WebStorm 中的根节点模块生成相对路径的主要内容,如果未能解决你的问题,请参考以下文章

为啥 emacs 会为修改过的文件创建临时符号链接?

this为啥会为undefined?

为啥python不会在启动时自动导入每个模块?

为啥idea导入项目以后又生成了一个文件夹

为啥 Xcode 自动补全在导入时会提示 .m 文件?

为啥myeclipse无法自动导入spring的jar包?