美文网首页
2018-09-08 export 、export defaul

2018-09-08 export 、export defaul

作者: 忙于未来的民工 | 来源:发表于2018-10-26 15:42 被阅读0次

comment的模块导出方式:

exports、module.exports

exports:会默认生成一个空对象,将要导出的值作为空对象的属性

module.exports:导出的是什么,引入时就是什么。

comment的模块引用方式:

require

es6的模块导出方式:

export、export default

export:导出一个空对象,将要导出的值作为空对象的属性

export default:直接导出

es6的模块引用方式:

import

下面第一种与第二种情况是es6的模块导出语法与去区别

在写node服务时,遇到了第三种情况。es6的模块导出方式,comment的模块引用方式

注意:node中是不支持es6的模块导出与引用方式的,所以需要借助于babel进行转换

1: 使用export导出时,import再引入时需要加{},个人感觉就是相当于作为一个对象的属性导出去了

a.js

let a = 2 

export a

b.js

import {a} from 'a.js'

2:使用export default 导出时,import再引入时直接使用

a.js 

let a = 2

export default a

b.js

import a from 'a.js'

3:使用export default 导出时,require再引入时,如果要取值,需要加一个default

这便是第一种情况所说的,export default 相当于默认导出一个对象

a.js 

let a = 2

export default a

b.js

const a = require('a')

如果要取a.js中a的值,需要使用a.default

注意:

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

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

相关文章

网友评论

      本文标题:2018-09-08 export 、export defaul

      本文链接:https://www.haomeiwen.com/subject/chakgftx.html