一看就懂的module.exports/exports与module.export/export default {}

栏目: JavaScript · 发布时间: 6年前

内容简介:补充:

一、module.exports与exports

  1. nodeJS 采用 commonJs 规范,当前文件是一个模块 (module) 私有域,通过 exports 属性导出,通过 require() 引入模块,通过.xx去获取值,从而了解到加载某个模块,其实是加载该模块的 exports 属性
  2. exportsmodule.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{}

  1. ES6中的模块功能主要由两个命令构成: exportimportexport 命令用于规定模块的对外接口, import 命令用于输入其他模块提供的功能。
  2. export 命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。意思是导出的不是一个具体的数值,而是一个对象 {a: 1, b: function(){}}
  3. import 命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块( profile.js )对外接口的名称相同。因此, import {} 中的变量名是 export {}key
  4. 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())

补充: exportimport 可复合书写,如果在一个模块之中,先输入后输出,不做任何操作

export {} from ''


以上所述就是小编给大家介绍的《一看就懂的module.exports/exports与module.export/export default {}》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Structures and Algorithms in Python

Data Structures and Algorithms in Python

Michael T. Goodrich、Roberto Tamassia、Michael H. Goldwasser / John Wiley & Sons / 2013-7-5 / GBP 121.23

Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Struct......一起来看看 《Data Structures and Algorithms in Python》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具