commonjs和es6规范的导入导出

260 阅读1分钟

commonjs规范的 require module.exports

es6之前,用commonjs规范实现模块化。

注意:nodejs已经支持大部分es6,但是模块化,还是使用commonjs规范。所以,nodejs中不可直接使用import 和 export,若想使用,需要使用babel转换。

// 导出(两种写法,注意都是exports,不是es6的export)
// 导出,写法一
module.exports = {
    myEx: level
}

// 导出,写法二
exports.myEx = function () {
    // 方法内容
}

// 引入,使用require引入
const log4j = require('./utils/log4j')
log4j.具体方法名

es6规范的 import export default

  1. export需要解构赋值后使用
  2. export default 不可以解构赋值
// 方式一
// 导出
export function myFun() {
    console.log('我是myFun')
}

export const name = 'Lizy'

// 引入
import { myFun, name } from './utils/tools'


// 方式二
// 导出
function myFun() {
    console.log('我是myFun')
}

const name = 'Lizy'

export default {
    myFun,
    name,
}

// 引入
import tools from './utils/tools'