什么是nodeJs?对于web前端开发者来说,最初的js文件是在html文件中通过浏览器解析器来解析的,而node.js的出现使得js文件可以单独解析。前端开发者一提到js,更多想到的是基于浏览器的dom操作,而在Node.js中运行的js大多是操作磁盘文件或者构建http服务。Node.js提供了相应的fs、http等内置对象。Node.js让前端感觉像法宝,跳出浏览器窗口。安装Node.jsNodeJS提供了一些安装程序,可以在此处的nodejs.org下载并安装。Windows系统选择与系统版本匹配的.msi后缀的安装文件。在MacOSX下,选择带有.pkg后缀的安装文件。运行终端,直接输入代码运行$node>console.log("helloKcoder");helloKcoder创建js文件,终端运行js文件创建sayHello.js(function(){console.log("helloKcoder");})();终端输入$nodesayHello.jshelloKcodermodule复杂的程序尽可能模块化会让逻辑结构更清晰易懂,在Node.js中预定义require、exports、modules可供使用。require用于导入带有导出模块的其他文件。这里的路径可以是相对路径也可以是绝对路径。如果是.js文件,.js可以省略。varliuwen=require("./liuwen.js");varliuwen=require("./liuwen");varliuwen=require("c:/web/liuwen.js");exports用于导出模块的公共属性和方法,exports.liuwen=function(){alert("liuwen");}module是替换当前模块的导出对象。例如,模块导出对象默认是一个普通对象。如果你想把它变成一个函数,你可以使用下面的方法。module.exports=function(){console.log('刘文');};模块初始化所有模块在执行过程中只初始化一次。首先是以下结构目录-part.js-main.jspart.jscontentvari=0;函数sayNum(){返回i+=1;}main.js内容varpart1=require(./part.js);varpart2=require(./part.js);console.log(part1.sayNum());console.log(part2.sayNum());console.log(part2.sayNum());终端运行$nodemain.js123可以看出没有进行两次初始化。总结Node.js是一个js脚本解析器。在操作系统下安装Node.js的本质就是将Node.js的执行程序复制到系统目录下,这样就可以在终端上使用node命令了。直接在终端输入node命令,进入命令交互模式,非常适合测试一些JS代码片段,比如正则表达式。NodeJS采用CMD模块系统,主模块作为程序的入口,所有模块在执行过程中只初始化一次。除非JS模块不能满足需求,否则不要轻易使用二进制模块,否则你的用户会抱怨。
