一看就懂的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 {}》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

游戏编程算法与技巧

游戏编程算法与技巧

【美】Sanjay Madhav / 刘瀚阳 / 电子工业出版社 / 2016-10 / 89

《游戏编程算法与技巧》介绍了大量今天在游戏行业中用到的算法与技术。《游戏编程算法与技巧》是为广大熟悉面向对象编程以及基础数据结构的游戏开发者所设计的。作者采用了一种独立于平台框架的方法来展示开发,包括2D 和3D 图形学、物理、人工智能、摄像机等多个方面的技术。《游戏编程算法与技巧》中内容几乎兼容所有游戏,无论这些游戏采用何种风格、开发语言和框架。 《游戏编程算法与技巧》的每个概念都是用C#......一起来看看 《游戏编程算法与技巧》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具