我正在尝试导出ES6中的功能以从其他文件访问它们。
但是我不知道怎么做。
文件1 :(导入)
import components from './components/components';
console.log(components.hej);
文件2 :(导出)
var hej = () => {
console.log('HEj');
};
export var hej;
为什么我不能从文件1访问文件2中声明的“ hej”函数?
对我来说这没有意义。
请帮忙!
最佳答案
您正在执行命名导出,而不是默认导出,因此导入语法将不起作用。要按原样导入hej
,您需要执行以下操作:
// Imports a single object by name
import { hej } from './components/components';
console.log(hej);
要么:
// Imports all exported objects grouped together under the specified name
import * as components from './components/components';
console.log(components.hej);
另外,您的导出语法也不正确-
export var hej
应该为export { hej }
,因为您没有在此处定义新变量,而是在使用现有变量。或者,您可以将函数声明更改为export var hej = () => { ... };
,这将具有相同的效果。