node学习笔记一

这是廖雪峰老师一篇很好的零基础教程的链接!!下面也是看这篇教程后动手写的一些体会和demo
https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501436552e03ec6cc152b4c84959f14d0ea278488000

学习笔记:

1.安装node
2.打开电脑终端 node -v 输出版本号说明安装成功
3.node 进入node交互模式
在node交互模式可以输入javascript代码并立即执行
4.process.exit() 退出node交互模式

Node的交互模式和直接运行.js文件有什么区别呢?

  • 直接输入node进入交互模式,相当于启动了Node解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。
  • 直接运行node hello.js文件相当于启动了Node解释器,然后一次性把hello.js文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。
Node环境中,有两种方法可以在一个模块中输出变量:

方法一:对module.exports赋值:(推荐)

** hello.js **
'use strict';
var s="hello";
function say(name){
    console.log(s+","+name+"!");
}
function add(a,b){
    console.log(a+b);
}
module.exports={
say:say,
add:add
}

方法二:直接使用exports:(不推荐)

** hello.js **

'use strict';
var s="hello";
function say(name){
    console.log(s+","+name+"!");
}
function add(a,b){
    console.log(a+b);
}
exports.say=say;
exports.add=add;

编写main.js中调用hello.js中的方法。

'use strict';
var sayhello=require('./hello');//不要忘了写相对路径

var s="nicolas";
sayhello.say(s);
sayhello.add(4,5);

总结:

  • 这种模块加载机制被称为CommonJS规范。在这个规范下,每个.js文件都是一个模块,它们内部各自使用的变量名和函数名都互不冲突,例如,hello.js和main.js都申明了全局变量var s = 'xxx',但互不影响。
  • 一个模块想要对外暴露变量(函数也是变量),可以用module.exports = variable;,一个模块要引用其他模块暴露的变量,用var ref = require('module_name');就拿到了引用模块的变量。
要在模块中对外输出变量,用:
module.exports = variable;

输出的变量可以是任意对象、函数、数组等等。

要引入其他模块输出的对象,用:
var foo = require('other_module');

引入的对象具体是什么,取决于引入模块输出的对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,639评论 2 41
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 4,093评论 2 58
  • topics: 1.The Node.js philosophy 2.The reactor pattern 3....
    宫若石阅读 1,125评论 0 1
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,495评论 1 37
  • 谈钱伤感情?其实不谈才伤 文 / 飞小白 图 /花瓣 01 中国人常说,谈钱伤感情,越是关系好,越是不好意思把钱...
    微微一笑心理咨询师阅读 1,803评论 2 1