export default

导出匿名函数,导入时自命名

  1. // export-default.js
  2. export default function () {
  3. console.log('foo');
  4. }
  5. // import-default.js
  6. import customName from './export-default';
  7. customName(); // 'foo'

导出非匿名函数,模块外和导出匿名函数表现相同

  1. // export-default.js
  2. export default function foo() {
  3. console.log('foo');
  4. }
  5. // 或者写成
  6. function foo() {
  7. console.log('foo');
  8. }
  9. export default foo;

本质:export default就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字

  1. // modules.js
  2. function add(x, y) {
  3. return x * y;
  4. }
  5. export {add as default};
  6. // 等同于
  7. // export default add;
  8. // app.js
  9. import { default as foo } from 'modules';
  10. // 等同于
  11. // import foo from 'modules';
  12. // 正确
  13. // 导出了default接口
  14. export default 42;
  15. // 报错
  16. // 导出要指定对外接口,
  17. export 42;