我的 ES6 导入是从索引文件读取还是直接从导出文件读取?
Is my ES6 import reading from index file or directly from the exporting file?
给定以下目录结构和文件:
鉴于有两种不同类型的 export
,该索引文件是否有效?
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'
每个文件只能有一个默认导出。它也可以没有名称 类。这两个条件都满足,所以它应该是有效的。这里有关于选项的更多信息:https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export
提供的树结构似乎有错字。路径 src/models/MyModel.ts
不存在,但 src/MyModel/index.ts
存在。假设它是src/models/MyModel
并且目录存在,主要问题是路径(src/models/MyModel
)不是相对的。当使用绝对路径时,它将始终查看 node_modules
,对于相对路径,它需要以 ./
或 ../
开头,在这种情况下:./models/MyModel
,在这种情况下,它将导入 MyModel.ts
文件。
给定以下目录结构和文件:
鉴于有两种不同类型的
export
,该索引文件是否有效?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'
每个文件只能有一个默认导出。它也可以没有名称 类。这两个条件都满足,所以它应该是有效的。这里有关于选项的更多信息:https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export
提供的树结构似乎有错字。路径
src/models/MyModel.ts
不存在,但src/MyModel/index.ts
存在。假设它是src/models/MyModel
并且目录存在,主要问题是路径(src/models/MyModel
)不是相对的。当使用绝对路径时,它将始终查看node_modules
,对于相对路径,它需要以./
或../
开头,在这种情况下:./models/MyModel
,在这种情况下,它将导入MyModel.ts
文件。