nodejs第二篇-学习require对象,exports对象。
2018-01-09 19:08
274 查看
上一篇博客就这么水过了,不管你们信不信,我算是觉得已经初识nodejs了。那接下来咱们在来接着上文global对象继续捣鼓捣鼓吧。
1.require对象
node提出的概念就是模块的意思,那模块和模块之间怎么交互呢?当然就是require了,他就跟import差不多,也没啥意思,来两个小demo,搞一搞吧。
1.打开webstrom随便创建一个项目吧:
2.创建module1.js,在里面随便写点代码吧。
好了,这样就差不多了。
3.创建module2.js,写上下面的代码吧。
好了,把module2.js跑起来吧。你会在控制台看见这样的效果。
嗯嗯,是的。这就是require的用法。感觉也没什么意思。
这里记下require的特殊地方吧
require加载模块,可以使用相对路径,也可以使用绝对路径。但是如果相对路径不加上./的话,默认会去加载node中的核心模块,或者是node_modules文件,其次,如果不加上后缀名称,首先按照文件名称加载,其次是加上.js后缀——>.json——>.node,最后报错。
2.exports对象
让我们接着上面的代码搞一搞,把module2.js写成这个样子。
好了,又把module2.js跑起来吧。你会发现下面的惊喜。。。。。
竟然报错了,不是说require已经把module1.js导入进来了吗?为啥不行。真的操蛋。招了半天也没找到答案呢,然后细细想一下,这尼玛就跟java一样对象speak就像被加了private关键字一样,不能访问。那该怎么办呢。当然是使用exports对象了啊。来,让我们去改一改module1.js的代码,如下:
接着修改module1.js如下:
接下来咱们在把module2.js跑起来。
看见没有model1竟然是一个json对象,无语。所以这样我们当然能通过module1.speak得到它的值啦。
那么除此之外,我们还可以怎么样获得其他的对象呢?这就要引出module对象了。
算了,要吃饭了下一篇跟新module对象吧。。。。。。。
1.require对象
node提出的概念就是模块的意思,那模块和模块之间怎么交互呢?当然就是require了,他就跟import差不多,也没啥意思,来两个小demo,搞一搞吧。
1.打开webstrom随便创建一个项目吧:
2.创建module1.js,在里面随便写点代码吧。
console.log('我在module1中'); var speak="办公室全是小姐姐。"; setInterval(function () { console.log(speak) },1000);
好了,这样就差不多了。
3.创建module2.js,写上下面的代码吧。
require('./module1');
好了,把module2.js跑起来吧。你会在控制台看见这样的效果。
嗯嗯,是的。这就是require的用法。感觉也没什么意思。
这里记下require的特殊地方吧
require加载模块,可以使用相对路径,也可以使用绝对路径。但是如果相对路径不加上./的话,默认会去加载node中的核心模块,或者是node_modules文件,其次,如果不加上后缀名称,首先按照文件名称加载,其次是加上.js后缀——>.json——>.node,最后报错。
2.exports对象
让我们接着上面的代码搞一搞,把module2.js写成这个样子。
require('./module1'); console.log(speak);
好了,又把module2.js跑起来吧。你会发现下面的惊喜。。。。。
竟然报错了,不是说require已经把module1.js导入进来了吗?为啥不行。真的操蛋。招了半天也没找到答案呢,然后细细想一下,这尼玛就跟java一样对象speak就像被加了private关键字一样,不能访问。那该怎么办呢。当然是使用exports对象了啊。来,让我们去改一改module1.js的代码,如下:
console.log('我在module1中'); var speak="办公室全是小姐姐。"; exports.speak=speak;
接着修改module1.js如下:
var module1=require('./module1'); console.log(module1); console.log(module1.speak);
接下来咱们在把module2.js跑起来。
看见没有model1竟然是一个json对象,无语。所以这样我们当然能通过module1.speak得到它的值啦。
那么除此之外,我们还可以怎么样获得其他的对象呢?这就要引出module对象了。
算了,要吃饭了下一篇跟新module对象吧。。。。。。。
相关文章推荐
- 【前端学习笔记】2015-09-09~~~~nodejs中的require()和module.exports
- nodeJS学习(9)--- nodeJS模块:exports vs module.exports
- Node.js exports 和 require 两个对象
- C/C++日常学习总结(第二篇)结构体和类的大小及区别&为什么是new一个对象而不是malloc
- nodejs学习三 process对象
- nodejs开发——require与exports的使用
- nodejs中require、exports与module.exports的区分
- nodejs学习第4篇——process对象
- NodeJs学习笔记 01 -- 入门之模块、全局对象
- 从零开始学习C++第二篇:认识C++的对象
- NodeJS | Js 对象 module.exports -笔记(1)
- NodeJS学习系列课程笔记(NodeJS 全局对象相关使用方法)
- Nodejs学习笔记之Global Objects全局对象
- JAVA编程思想学习第二篇の一切都是对象
- nodejs学习笔记 -- 全局对象与全局变量
- nodejs开发——require与exports的使用
- C#基础学习第二篇:对象和类型
- nodejs基础教程--require 、module和exports
- nodejs第三篇-学习module对象