当我有3个文件时,我很难理解导出/导入机制,每个文件都包含前一个文件。
例:
//fileA.js:
export default MyClass {}
//fileB.js:
import MyClass from './fileA.js';
//fileC.js:
import './fileB.js';
我的期望是MyClass
可以在fileC中使用它,但事实并非如此。你能建议吗?
在您的以下代码中:
//fileA.js:
export default MyClass {}
//fileB.js:
import MyClass from './fileA.js';
//fileC.js:
import './fileB.js';
Myclass
仅在fileB中可用,因为它是直接导入的。您的第三行代码不会加载到fileA中。仅仅因为将FileA加载到FileB中并不意味着当我们在FileC中导入B时依赖项就被转移了
为了使其可用,我们必须像在文件B中一样再次将其导入文件C中:
import MyClass from './fileA.js';
import
export
语法:当一个文件导出多个内容时(前面没有默认值),我们可以使用命名导出将其导入,例如:
export class1 {}
export class2 {}
我们正在导出2个类,我们可以使用以下语法导入它们:
import {class1, class2} from './fileA.js';
请记住,名字现在有相匹配的出口名称,class1
并且class2
在这种情况下。
我们还可以通过以下方式导入文件的所有导出:
import * as classes from './fileA.js';
classes.class1 // the way to access class1
这种语法将所有导出文件放到我们可以确定其名称(在as
关键字之后)的对象上。然后,我们可以像通常访问对象的属性一样访问导出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句