前端開發人員一提到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模塊不能知足需求,不然不要輕易使用二進制模塊,不然你的用戶會叫苦不迭。