普通导出
// 声明前导出
export let months = ['Jan', 'Feb', 'Mar'];
// 声明后导出
function sayHi(user) {
alert(`Hello, ${user}!`);
}
function sayBye(user) {
alert(`Bye, ${user}!`);
}
export {sayHi, sayBye}; // 导出变量列表
可以使用 as
让导出具有不同的名字
...
export {sayHi as hi, sayBye as bye};
默认导出
- 将
export default
放在要导出的实体前 - 导入时不需要花括号
- 导出的实体可以没有名称,导入时名称随意
export default class User { // 只需要添加 "default" 即可
constructor(name) {
this.name = name;
}
}
每个文件应该只有一个
export default
导入
将要导入的东西列在花括号 import {...}
中
import {sayHi, sayBye} from './say.js';
sayHi('John'); // Hello, John!
sayBye('John'); // Bye, John!
可以使用 import * as <obj>
将所有内容导入为一个对象
import * as say from './say.js';
say.sayHi('John');
say.sayBye('John');
可以使用 as
让导入具有不同的名字
import {sayHi as hi, sayBye as bye} from './say.js';
hi('John'); // Hello, John!
bye('John'); // Bye, John!