这是廖雪峰老师一篇很好的零基础教程的链接!!下面也是看这篇教程后动手写的一些体会和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');
引入的对象具体是什么,取决于引入模块输出的对象。