我正在尝试导出ES6中的函数以从其他文件访问它们。 但我无法弄清楚如何。
文件1 :(导入)
import components from './components/components';
console.log(components.hej);
文件2 :(导出)
var hej = () => {
console.log('HEj');
};
export var hej;
为什么我不能从文件1访问文件2中声明的函数“hej”? 这对我来说没有意义。
请帮忙!
答案 0 :(得分:4)
您正在执行命名导出,而不是默认导出,因此导入语法不起作用。要导入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 = () => { ... };
,这将产生相同的效果。