Node模块路径导入解析策略

2021-05-24295次阅读node

相对模块路径

这很简单,仅仅是按照相对路径:

  • 如果文件 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
    • 直到系统的根目录
上一篇: peerDependencies指定所需要兼容的宿主包的版本  下一篇: 针对IE 10使用样式  

Node模块路径导入解析策略相关文章