目录

共享变量

共享方法

共享构造

共享类


exports可以共享方法、变量、构造、类。
exports的本质是一个数组,访问域是共有的。

//打印一下exports
console.log(exports);
//结果是一个空数组

共享变量

exportDemo.js(被引用的)


//打印一下exports
console.log(exports);
//结果是一个空数组//共享变量
var aa=123;
exports.aa=aa;
//打印的结果是一个键值对关系的数组{aa:123}
console.log(exports);

exportsUse.js(引用方)

//导入被引用的js文件
var exportsDemo=require("./exportsDemo.js");//直接调用aa,这里的aa对应的是exports对应的key
console.log(exportsDemo.aa);

共享方法

exportDemo.js(被引用的)


//打印一下exports
console.log(exports);
//结果是一个空数组//共享方法
function aa(num1,num2){console.log("被共享的方法哦~");return (num1+num2);
}//注意共享方法不能有小括号(哪怕是有参方法),一但有了括号就会根据return的内容直接返回对应的值
exports.aa=aa;
console.log(exports);
//打印结果: {aa:[Function:aa]}//若加了括号
exports.bb=aa();
console.log(exports);
//打印结果:{aa:[Function:aa],bb:NaN}

exportsUse.js(引用方)

//导入被引用的js文件
var exportsDemo=require("./exportsDemo.js");//直接调用aa,这里的aa对应的是exports对应的key
console.log(exportsDemo.aa(2,5));
//打印的结果是 被共享的方法哦~ 7 

共享构造

exportDemo.js(被引用的)

//定义一个构造方法function Person(name,age,sex){this.name=name;this.age=age;this.sex=sex;}
//这里就需要用到module了,module使用场景:类、构造方法
module.exports=Person;
console.log(exports);
//打印结果为空

exportsUse.js(引用方)

//导入被引用的js文件
var exportsDemo=require("./exportsDemo.js");var per=new exportsDemo("吴师傅",18,"男");
console.log(per);
//打印结果Person { name: '吴师傅', age: 18, sex: '男' }

共享类

exportDemo.js(被引用的)

var React=require("react");
var ReactDom=require("react-dom");class Header extends React.Component{render(){return (<div>这是头部</div>)}
}module.exports=Header;

exportsUse.js(引用方)

var React=require("react");
var ReactDom=require("react-dom");
//导入子组件
var Header=require("./Header.jsx");
var Footer=require("./footer.jsx");//例子:定义参数以及方法调用
class Main extends React.Component{//定义参数得放在constructor里constructor(){//定义参数super();this.state={timer:0}}//自定方法每次加1tick(){console.log(this);this.setState({timer:(this.state.timer+1)})}//点击方法trach(){console.log("运行点击方法了")}//类似Vue里的created钩子函数componentDidMount(){//若不用箭头函数包裹起方法(this.tick())那么tick里面的this就是一个window对象.会报错//包裹起来后的this就是main,这样的this才能指向timersetInterval(()=>{this.tick()},1000)}render(){return (<div><Header/><p>{this.state.timer}<span><button onClick={this.trach.bind(this)}>点击事件</button></span></p></div>)}
}
ReactDom.render(<Main/>,document.getElementById("box"));

node里exports的用法相关推荐

  1. Node.js: exports 和 module.exports 的区别

    我理解的exports 和 module.exports 的区别,欢迎大家吐槽~ 为了更好的理解 exports 和 module.exports 的关系,我们先来补点 js 基础.示例: app.j ...

  2. Node中Exports与module.export的使用与区别

    最近在看<node开发实战详解>时有写疑问,所以自己就整理了一些资料.下面是node4.*的官方api文档(http://nodejs.cn/doc/node_4/modules.html ...

  3. [转载] python里字典的用法_python中字典(Dictionary)用法实例详解

    参考链接: Python字典dictionary copy方法 本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映 ...

  4. mysql ucase,Node.js MySQL UCASE()用法及代码示例

    UCASE()函数是MySQL中的内置函数,用于将给定字符串的所有字符转换为大写. 用法: UCASE(input_string) 参数:它采用一个参数,如下所示: input_string:这是用于 ...

  5. JS exports的用法

    Node.js 模块的导出 在 Node.js 中,每个文件都被视为一个模块,模块内部的变量和函数默认都是私有的,而需要被其他模块调用的变量和函数则需要用 exports 或 module.expor ...

  6. Zephyr 3.2 弃用devicetree 中node 里的label property

    节点(node)是用来描述Zephyr电路板里设备(device)的,设备有一系列特性(property),比如 status.compatible.reg等,下面是一个例子:         rad ...

  7. response里的setHeader用法

                                                          response.setHeader()的用法 1. HTTP消息头 (1)通用信息头 即能 ...

  8. 关于Python里的super用法研究

    转自:http://blog.csdn.net/johnsonguo/article/details/585193 虽然我现在没看懂,不过先转一个,以后有时间了再看. 一.问题的发现与提出 在Pyth ...

  9. 用法 stl_【c++】STL里的priority_queue用法总结

    https://blog.csdn.net/xiaoquantouer/article/details/52015928 1.头文件 #include<queue> 2.定义 priori ...

最新文章

  1. 【Python】数组索引到底怎么整?
  2. 基于MVC模式Struts框架研究
  3. Redis学习-性能与优化(五)
  4. db link hang的解决方法
  5. Fragstats 4 软件进行景观分析教程
  6. 翻译:如何理解梯度下降算法Gradient Descent algorithm
  7. 线性回归之最小二乘法公式推导和原理介绍
  8. php 前台模板,前台模板
  9. 前端快速切图:PS切图常用快捷键、精准测量尺寸
  10. 【生活】驾照C1-科三手册
  11. 数据库 蚂蚁_华东师范大学与蚂蚁集团OceanBase成立联合实验室,助推自研数据库创新发展...
  12. 听dalao讲课 7.27
  13. 大名鼎鼎的 Linux —— 进程,线程,协程
  14. Boss直聘招聘信息爬取
  15. 金融交易领域之外汇产品
  16. 论文阅读:Meta-Learning in Neural Networks: A Survey
  17. 寻找真实IP-子域名查找
  18. 如何选择适合你的兴趣爱好(四十九),现代舞
  19. MetaSploit攻击实例讲解------Metasploit自动化攻击(包括kali linux 2016.2(rolling) 和 BT5)...
  20. 2018 前端性能优化清单

热门文章

  1. windows 文件夹设置 everyone 共享
  2. STM32定时器计数频率以及PSC和CNT、CCR1的关系
  3. Matlab cnt是什么意思,cnt是什么意思
  4. java的log4j_JAVA中Log4j的使用
  5. Node.js中Async详解
  6. Python数轴分界、定位法实现级差分佣
  7. Android 配置忽略文件正确的写法
  8. amd为什么还用针脚_为什么英特尔的电脑CPU没有针脚,而AMD的CPU针脚却密密麻麻?...
  9. 彩信 添加 html,关于彩信打开都显示是空信息的简单办法
  10. ant-design vue 表单使用v-decorator后点击label 输入框聚焦问题解决方案