我正在尝试导出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 = () => { ... };,这将具有相同的效果。

08-19 15:17