前端开发人员一提到js更多想到的是基于浏览器的dom操做,而运行在Node.js中的js做用多数是操做磁盘文件或搭建http服务,Node.js提供了相应的fs,http等内置对象。html
Node.js让前端如获神器,跳出了浏览器的窗口。前端
NodeJS提供了一些安装程序,均可以在nodejs.org这里下载并安装。node
Windows系统下,选择和系统版本匹配的.msi后缀的安装文件。Mac OS X系统下,选择.pkg后缀的安装文件。web
终端直接输入代码运行正则表达式
$ node > console.log("hello Kcoder"); hello Kcoder
建立js文件,终端运行js文件浏览器
建立sayHello.jsdom
(function(){ console.log("hello Kcoder"); })();
终端输入模块化
$ node sayHello.js hello Kcoder
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; function sayNum (){ return i += 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());
终端运行
$ node main.js 1 2 3
因而可知并无被初始化两次。
Node.js是一个js脚本解析器,操做系统下安装Node.js的实质是Node.js的执行程序复制到系统目录下,以便在终端可使用node命令。
终端下直接输入node命令可进入命令交互模式,很适合用来测试一些JS代码片断,好比正则表达式。
NodeJS使用CMD模块系统,主模块做为程序入口点,全部模块在执行过程当中只初始化一次。
除非JS模块不能知足需求,不然不要轻易使用二进制模块,不然你的用户会叫苦不迭。