《深入理解ES6》中的错误?

关于ES6中的模块功能,《深入理解ES6》317页最上边的例子

function multiply(num1, num2){
    return num1 * num2;
}
export multiply;

书上说不必总是导出声明,可以导出引用,因此这段代码可以运行。但我实际测试,这样写是错误的。在阮一峰的《ES6标准入门》第二版中介绍export命令时是这么说的

//报错
function f(){}
export f;

//正确
function f(){}
export {f};

上边的multiply放在{}就正确了。是《深入理解ES6》写错了么

阅读 3.7k
3 个回答

以下是ES6标准原文中关于 module 的 export 规则所集成的表格:

export rules

从表中来看,似乎没有export variable的规则。

书上可能是有勘误,不用每次导出声明的意思应该是指用export default的方式进行默认导出。

从标准中的 import 规则也不难看出:
import rules

导入某个指定的对象(或变量)需要通过 destructuring 的方式引入,要么就是从 default 导入。

你上面的改成 export default multiply;

把引用函数位置的代码也贴一下吧,应该是引用时候的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题