一看就懂的module.exports/exports与module.export/export default {}
栏目: JavaScript · 发布时间: 6年前
内容简介:补充:
一、module.exports与exports
-
nodeJS采用commonJs规范,当前文件是一个模块(module)私有域,通过exports属性导出,通过require()引入模块,通过.xx去获取值,从而了解到加载某个模块,其实是加载该模块的exports属性 -
exports是module.exports的别名,不要在同一个文件内同时使用两个,否则只能获取到module.exports的值
exports导出
// example.js
module.exports.a = '111';
module.exports.fun= function() {
}
// 或者写成对象形式
module.exports = {
a : '111',
fun: function(){}
}
require加载
let test = require('./example.js')
console.log(test.a)
console.log(test.fun);
二、module.export/export default{}
-
ES6中的模块功能主要由两个命令构成:
export和import。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。 -
export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。意思是导出的不是一个具体的数值,而是一个对象{a: 1, b: function(){}} -
import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块(profile.js)对外接口的名称相同。因此,import {}中的变量名是export {}的key值 -
import命令输入的变量都是只读的,因为它的本质是输入接口。因此,模块导出的值,只能获取,不可以修改
export导出
//example2.js
// 1. 直接导出某个变量或函数
export const a = 1;
export function fun() {
}
// 2. 先定义变量或者函数,再进行导出
const a = 1;
export {a};
function fun() {
}
export {fun};
// 3. 加别名进行导出
const a = 1;
export {a as b} // b是a的别名
// 4. export default
注意,一个文件只能有一个default,这代表是模块的整体输出
import导入
// 1. 常规导入
import {a, fun} from 'example2.js'
// 2. 别名导入
import {a as b} from ...
// 3. *导入整个模块
import * as b from ...
// 4. 前三种是module.export,此处是export default
import b from ...
console.log(a)
console.log(fun())
补充: export
与 import
可复合书写,如果在一个模块之中,先输入后输出,不做任何操作
export {} from ''
以上所述就是小编给大家介绍的《一看就懂的module.exports/exports与module.export/export default {}》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Python
Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99
Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!