Node.js学习笔记01

简介: Node.js学习

什么是nodeJs?

对于web前端开发人员来说,初期的js文件是在html文件中通过浏览器解析器来解析的,而node.js的出现,使得js文件也能被单独的解析。
  • 前端开发人员一提到js更多想到的是基于浏览器的dom操作,而运行在Node.js中的js作用多数是操作磁盘文件或搭建http服务,Node.js提供了相应的fs,http等内置对象。
  • Node.js让前端如获神器,跳出了浏览器的窗口。

安装Node.js

  • NodeJS提供了一些安装程序,都可以在nodejs.org这里下载并安装。
  • Windows系统下,选择和系统版本匹配的.msi后缀的安装文件。Mac OS X系统下,选择.pkg后缀的安装文件。

运行

  • 终端直接输入代码运行

$ node


> console.log("hello Kcoder");


hello Kcoder

  • 创建js文件,终端运行js文件
  • 创建sayHello.js

(function(){


console.log("hello Kcoder");


})();

  • 终端输入

$ nodesayHello.js


hello Kcoder

模块

复杂程序尽量模块化会使得逻辑结构更加清晰容易理解,在Node.js中require,exports,module这些预定义好的可以供使用。
  • require用来传入别的有导出模块的文件,这里的路径可以是相对路径,也可以是绝对路径,如果是.js文件,.js可y以省略。

var liuwen = require("./liuwen.js");


var liuwen = require("./liuwen");


var liuwen = require("c:/web/liuwen.js");

  • exports是用来导出模块的公有属性和方法,

exports.liuwen=function(){


   alert("liuwen");


}

  • module是替换当前模块的导出对象。例如模块导出对象默认是一个普通对象,如果想改成一个函数的话,可以使用以下方式。

module.exports = function () {


   console.log('liuwen');

   

};

模块初始化

所有模块在执行过程中只初始化一次。
  • 首先由如下结构目录

- part.js


- main.js

  • part.js内容

   var i = 0;

   

   functionsayNum (){


   returni += 1;

   

}

  • main.js内容

   var part1 = require(./part.js);

   

   var part2 = require(./part.js);

   

   console.log(part1.sayNum());

   

   console.log(part2.sayNum());

   

   console.log(part2.sayNum());

  • 终端运行

   $ nodemain.js

   

   1

   

   2

   

   3

由此可见并没有被初始化两次。

小结

  • Node.js是一个js脚本解析器,操作系统下安装Node.js的实质是Node.js的执行程序复制到系统目录下,以便在终端可以使用node命令。
  • 终端下直接输入node命令可进入命令交互模式,很适合用来测试一些JS代码片段,比如正则表达式。
  • NodeJS使用CMD模块系统,主模块作为程序入口点,所有模块在执行过程中只初始化一次。
  • 除非JS模块不能满足需求,否则不要轻易使用二进制模块,否则你的用户会叫苦连天。
相关文章
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十九天-学习node的必要性1
前端学习笔记202306学习笔记第四十九天-学习node的必要性1
33 0
|
9月前
|
JavaScript 前端开发
前端学习笔记202305学习笔记第二十四天-node.js安装
前端学习笔记202305学习笔记第二十四天-node.js安装
35 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十三天-学习node的必要性1
前端学习笔记202306学习笔记第四十三天-学习node的必要性1
37 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十三天-学习node的必要性2
前端学习笔记202306学习笔记第四十三天-学习node的必要性2
46 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十三天-安装多个版本的node之2
前端学习笔记202306学习笔记第四十三天-安装多个版本的node之2
52 0
前端学习笔记202306学习笔记第四十三天-安装多个版本的node之2
|
9月前
|
前端开发 JavaScript
前端学习笔记202306学习笔记第四十三天-在node版本中运行js之1
前端学习笔记202306学习笔记第四十三天-在node版本中运行js之1
40 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十三天-安装多个版本的node之1
前端学习笔记202306学习笔记第四十三天-安装多个版本的node之1
48 0
|
9月前
|
前端开发 JavaScript
前端学习笔记202306学习笔记第四十三天-在node版本中运行js之2
前端学习笔记202306学习笔记第四十三天-在node版本中运行js之2
50 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十三天-安装node之1
前端学习笔记202306学习笔记第四十三天-安装node之1
41 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十三天-node提供的全局变量1
前端学习笔记202306学习笔记第四十三天-node提供的全局变量1
39 0