Javascript 如何在ES6中导入匿名函数

Javascript 如何在ES6中导入匿名函数,javascript,ecmascript-6,Javascript,Ecmascript 6,在ES6中,我们可以像这样导入导出的模块: import { Abc } from './file-1'; // here Abc is a named export import Def from './file-2'; // here Def is the default export 但是我们如何导入匿名函数呢?考虑这个代码: 文件-3.js: export function() { return 'Hello'; } export function() { return

在ES6中,我们可以像这样导入导出的模块:

import { Abc } from './file-1';  // here Abc is a named export
import Def from './file-2';  // here Def is the default export
但是我们如何导入匿名函数呢?考虑这个代码:

文件-3.js:

export function() {
  return 'Hello';
}

export function() {
  return 'How are you doing?';
}

如果以上两个函数既不是默认导出,也不是命名导出(匿名函数没有名称!),如何将它们导入到另一个文件中?

单个匿名函数可以导出为
默认值(默认导出值可以是任何值)。无法从模块导出多个匿名函数,因此也无法导入它们

export
语句支持命名或默认导出。这将导致语法错误:

export function() {
  return 'Hello';
}
这些函数应命名为导出:

export const foo = function () {
  return 'Hello';
}

export const bar = function () {
  return 'How are you doing?';
}

因此,它们可以以相同的名称导入。

单个匿名函数可以作为
默认值导出(默认导出值可以是任何值)。无法从模块导出多个匿名函数,因此也无法导入它们

export
语句支持命名或默认导出。这将导致语法错误:

export function() {
  return 'Hello';
}
这些函数应命名为导出:

export const foo = function () {
  return 'Hello';
}

export const bar = function () {
  return 'How are you doing?';
}

所以它们可以用相同的名称导入。

你不能这样做。你把它们放在不同的文件中。file-3.js在语法上是无效的。你为什么还要这样做?你想解决的问题是什么?@Ry︁: 为什么
file-3.js
语法无效?你不能这样做。你把它们放在不同的文件中。file-3.js语法无效。你为什么还要这样做?你想解决的问题是什么?@Ry︁: 为什么
file-3.js
语法无效?
匿名函数不能从模块导出,除非是默认值。
匿名函数不能从模块导出,除非是默认值。