export和export default有什么区别?

95 阅读1分钟

"export和export default的区别在于导出的形式和导入时的使用方式。

export可以导出多个变量、函数或类,需要使用对应的名称进行导入:

// module.js
export const name = 'Alice';
export function sayHello() {
  return 'Hello!';
}
export class Person {
  constructor(name) {
    this.name = name;
  }
}
// main.js
import { name, sayHello, Person } from './module';

export default只能导出一个默认的变量、函数或类,可以使用任意名称进行导入:

// module.js
const name = 'Bob';
function sayHi() {
  return 'Hi!';
}
class Animal {
  constructor(type) {
    this.type = type;
  }
}
export default name;
// main.js
import anyName from './module';

当使用export default时,在导入时可以使用任意名称,而使用export时需要使用对应的名称进行导入。"