我的 ES6 导入是从索引文件读取还是直接从导出文件读取?

Is my ES6 import reading from index file or directly from the exporting file?

给定以下目录结构和文件:

  1. 鉴于有两种不同类型的 export,该索引文件是否有效?

  2. test.ts 中的 myUtil 导入是否从 src/MyModel 中的 index.ts 文件读取?还是直接从src/MyModel/modelUtils读取?

src
|
-- test.ts
-- MyModel
   |
   -- MyModel.ts
   -- index.ts
   -- modelUtils.ts

MyModel.ts

// create a class here called MyClass
export default MyClass

modelUtils.ts

export const myUtil = function () => {}

index.ts

export { default } from './MyModel'
export * as ModelUtils from './modelUtils'

test.ts

import MyClass from 'src/models/MyModel'
import { myUtil } from 'src/models/modelUtils'
  1. 每个文件只能有一个默认导出。它也可以没有名称 类。这两个条件都满足,所以它应该是有效的。这里有关于选项的更多信息:https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export

  2. 提供的树结构似乎有错字。路径 src/models/MyModel.ts 不存在,但 src/MyModel/index.ts 存在。假设它是src/models/MyModel并且目录存在,主要问题是路径(src/models/MyModel)不是相对的。当使用绝对路径时,它将始终查看 node_modules,对于相对路径,它需要以 ./../ 开头,在这种情况下:./models/MyModel ,在这种情况下,它将导入 MyModel.ts 文件。