module.exports、exports、export、export default与import、require

本文详细解析了JavaScript模块化的两种主要实现方式:ES6的import/export和Node.js的module.exports,exports。对比了export与export default的区别,以及它们在导入时的不同用法。同时,讲解了require作为通用导入方式在两者中的应用。

首先搞清楚在什么时候可以用什么样的语句

只有ES6支持:import、export、export default

只有node支持 : module.exports 、 exports

ES6与node都支持 : require

 

export 与 export defalut

export default是默认接口,在一个文件夹中只能定义一个,而export可以定义无数个。

export 导出的引入是必须要用{}接收,而export default不需要,但是也可以用{}接收

export default 引入时可以与导出时的名字不同,而export不可以。

export可直接导出变量表达式,而export default不可以

//export default 方式

const a = 10
const b = 20
const  sayhello = function(){
    console.log('hello');
    
}

//导出方式
export default {
    a,
    b,
    sayhello
} 
//引入方式

import {a,b,sayhellos} from './exp.js

import obj from './exp.js

obj.a   obj.b......
//export 方式

const a = 10
const b = 20
const  sayhello = function(){
    console.log('hello');
    
}

//导出方式

export {
    a,
    b,
    sayhello
} 


export const a = 10
export const b = 20
export const  sayhello = function(){
    console.log('hello');
    
}

//引入方式

import {a,b,sayhellos} from './exp.js

import * as obj from './exp.js

obj.a   obj.b......

moudle.exports 与exports

exports是moudule.exports的引用

exports不可赋对象值

module.exports = {
    a,
    b,
    c
}




exports.a = a
exports.b = b
exports.c = c

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值