WebStorm在使用SystemJS模块系统时从索引文件导入

Ham*_*pus 7 javascript webstorm typescript systemjs

假设我有以下源结构.

/home
  home.component.ts
/shared
  /domain
    car.domain.ts
    house.domain.ts
    person.domain.ts
    index.ts
Run Code Online (Sandbox Code Playgroud)

所有域文件都包含类似的内容

export interface Car {
  someProperty: number;
}
Run Code Online (Sandbox Code Playgroud)

索引文件如下所示

export * from './car.domain';
export * from './house.domain';
export * from './person.domain';
Run Code Online (Sandbox Code Playgroud)

然后在我的家庭组件中完美地导入这样的导入.

import { Car, Person } from '../shared/domain';
Run Code Online (Sandbox Code Playgroud)

要么

import { Car, Person } from '../shared/domain/index';
Run Code Online (Sandbox Code Playgroud)

但是,当自动导入WebStorm坚持导入这样的接口时

import { Car } from '../shared/domain/car.domain';
import { Person } from '../shared/domain/person.domain';
Run Code Online (Sandbox Code Playgroud)

有没有办法让WebStorm更喜欢从索引文件导入?

ans*_*oyt 5

你需要打开文件| 设置| 编辑| 一般| 自动导入设置并启用[使用目录导入]选项

注意:需要WebStorm 2016.3或更高版本

在此输入图像描述

  • 从Webstorm 2017.2开始,此设置将迁移到*File | 设置| 编辑| 代码风格| 打字稿(进口标签)* (5认同)