module模块化

模块化规范

  • CommonJS : node.js require('')...
  • AMD : require.js
  • CMD : sea.js 早就不维护了
  • ES6 : 2015年
    es6中到导入和导出
    关键字:export import as export default
  1. export导出
    一个一个导出
export const a = 123
export const b = 'abc'
export const sum = (a, b) => a + b
const obj = {
    name: 'della'
}
export { obj }

import导入时,名字必须一样,不过可以 通过as起别名

import { a, b as bb, sum, obj } from './module.js' //给b起别名
// 导出的名字和导入的名字必须一样
console.log(a)
console.log(sum(a, bb))
console.log(obj)

export一次导出多个,导入时一样

const a = 123
const b = 'abc'
const sum = (a, b) => a + b
const obj = {
    name: 'della'
}
export { obj, a, b, sum }
  1. export default
    导出时,不能在default后面接声明语句,一个文件只能有一个default导出
const a = 123;
export default a

导入时,没有大括号 { } ,名字可以改变,

import aa from './module.js'
console.log(aa) //123

default一次导出多个

//导出
const a = 123
const b = 'abc'
const sum = (a, b) => a + b
const obj = {
    name: 'della'
}
export default { obj, a, b, sum }
//导入
import mod from './module.js'
console.log(mod) //{obj: {…}, a: 123, b: 'abc', sum: ƒ}
  1. 导出时有export又有export default
//导出
const a = 123;
export default a
export const str = 'abc'
//导入时1
import a, { str } from './module.js'
console.log(a, str)
//导入时2
import * as mod from './module.js'
//数据都挂在default上了
console.log(mod.default.a) //123

你可能感兴趣的:(module模块化)