相对模块路径
这很简单,仅仅是按照相对路径:
- 如果文件 bar.ts 中含有 import * as foo from './foo',foo 文件所存在的地方必须是相同文件夹下;
- 如果文件 bar.ts 中含有 import * as foo from '../foo',foo 文件所存在的地方必须是上一级目录;
- 如果文件 bar.ts 中含有 import * as foo from '../someFolder/foo',foo 文件所在的文件夹 someFolder 必须与 bar.ts 所在文件夹在相同的目录下。
动态查找
当导入路径不是相对路径时,模块解析将会模仿 Node 模块解析策略,例如:
- 当你使用 import * as foo from 'foo',将会按如下顺序查找模块:
- ./node_modules/foo
- ../node_modules/foo
- ../../node_modules/foo
- 直到系统的根目录
- 当你使用 import * as foo from 'something/foo',将会按照如下顺序查找内容
- ./node_modules/something/foo
- ../node_modules/something/foo
- ../../node_modules/something/foo
- 直到系统的根目录