export 与 utils 方法书写规范

1. export 命令

export const firstName = 'Michael';
export const lastName = 'Jackson';
export const year = 1958;

// 等价于

const firstName = 'Michael';
const lastName = 'Jackson';
const year = 1958;

export { firstName, lastName, year };  // 优先考虑这种方式,写在文件尾部可以清晰看到输出了哪些接口

但是以上两种方式,外部都不能用 import Utils from '***' 的方式访问,因为文件没有用 export default 方式输出接口。因而只能用 import {firstName, lastName, year} 的方式访问。

export 除了输出变量,还可以输出函数或类:

export function multiply(x, y) {
  return x * y;
};

export 命令规定对外的接口,如果暴露的是常量而不是接口,则会报错:

2. import 命令

import 命令接受一对"大括号",指定要从其它模块导入的变量名。该大括号不允许解构:

import 会执行所加载的模块,但是只会执行一次:

3. 整体加载

4. export default 命令

即对于以上的形式,使用import加载模块需要知道模块内部的属性方法名,或者使用整体加载的形式。

而使用 export default 可以使得在 import 时指定任意名字:

export default 用于指定模块的默认输出,因此一个模块只能有一个默认输出。

export default 命令的本质是将后面的值,赋给 default 变量,所以:

5. Utils 推荐写法

即能在 {} 中通过 this 获取到当前的对象的别的 Util 方法.

外部模块需要调用时只需 import Utils from './utils.mjs'

Last updated

Was this helpful?