export、exportdefault、module.exports对比

export和exportdefault、module.exports是用来导出常量、函数、文件、模块的。

exportexportdefaultmodule.exports
来源es6(esm)es6(esm)commonjs的规范(smj)
单文件存在个数多个1个1个
导入方式import {}import +名称import、require

esm和cmj主要区别

① CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。

② CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。

一、export一般导出方法,引入使用的时候要使用大括号按需引入需要的方法

//util.js文件
// 排序
export function sortUnitType(prop) {
  return function (obj1, obj2) {
    var val1 = obj1[prop]
    var val2 = obj2[prop]
    if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
      val1 = Number(val1)
      val2 = Number(val2)
    }
    if (val1 > val2) {
      return -1
    } else if (val1 < val2) {
      return 1
    } else {
      return 0
    }
  }
}

//其他文件调用方式

import { sortUnitType } from '@/utils/util'

二、export default导出对象或者数组,但是引用的时候会整体引入 

//socket.js文件
export default class WebSocketClass {}


//在其他文件使用引用方式
import WebSocket from '@/utils/socket'

 一个文件中export可以有多个,但是export default只有一个

三、module.exports

module.exports一般导出对象,可以使用import或者require整体引入或者按需引入(import只能在js文件顶部,require可以在任何位置)

//colors.js文件
function getAntdColors (){}
module.exports = {
  getAntdColors,

}

//其他文件引入

const {getAntdColors} = require('../utils/colors')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值