export语句可以导出本文件中定义的各种变量、类和方法等。
const firstname = 'robin';
const lastname = 'wieruch';
export { firstname, lastname };
import语句可以导入其他文件中export的内容:
import { firstname, lastname } from './file1.js';
console.log(firstname);
// output: robin
import * as person from './file1.js';
console.log(person.firstname);
// output: robin
import { firstname as foo } from './file1.js';
console.log(foo);
// output: robin
export default语句主要用在以下场景:
- 为了导出和导入单一功能
- 为了强调一个模块输出 API 中的主要功能
- 这样可以向后兼容ES5只有一个导出物的功能
此外,输入的名称可以与导入的 default 名称不一样
//--------export
const firstname = 'robin';
const lastname = 'wieruch';
const person = {
firstname,
lastname,
};
export {
firstname,
lastname,
};
export default person;
//--------import
import developer, { firstname, lastname } from './file1.js';
console.log(developer);
// output: { firstname: 'robin', lastname: 'wieruch' }
console.log(firstname, lastname);
// output: robin wieruch
在命名的导出中,你可以省略多余行直接导出变量。
export const firstname = 'robin';
export const lastname = 'wieruch';