這次帶給大家Node.js的新手教程,使用Node.js的新手注意事項有哪些,下面就是實戰案例,一起來看一下。
模組概述
node.js採用模組化結構,依照commonjs規格定義和使用模組,模組和檔案是一一對應的,即載入一個模組,實際上就是載入對應的一個模組檔。
require指令用於指定載入模組,載入時可以省略腳本檔案的後綴名稱。
var moyu = require("./myQuery");var moyu1 = require("./myQuery.js");
require方法的參數是模組檔案的名字。它分為兩種情況,第一種情況是參數中含有檔案路徑,例如像上面一樣,第二種情況是參數中不含有檔案路徑,這時node到模組的安裝目錄,去尋找已經的模組,像下面這樣:
var moyu = require("myQuery");
有時候,一個模組本身就是一個目錄,目錄中包含多個文件,這個時候,node在package.json中,尋找main屬性所指明的模組入口檔案。
但有時如果連package.json都沒有的話,node會嘗試著去找index.js,index.node進行載入。
模組一旦被加載,就會被系統緩存,如果第二次清空加載,就會返回304.
#核心模組
上面這些核心模組,原始碼都是在node的lib子目錄中,為了提高運行速度,它們都會被編譯成二進位。
核心模組總是最優先載入的,如果你自己寫了一個HTTP模組,require("http")還是核心模組。
自訂模組
node模組採用commonjs規範,只要符合這個規範,就可以自訂模組。
下面是一個最簡單位元的模組,假定新建一個moyu.js,寫入以下內容:
上面的程式碼就是一個模組,它透過module. exports變量,對外輸出一個方法,這個模組的使用方法如下:
#上面的程式碼透過require指令載入模組moyu.js。
將模組的對外介面輸出到變數moyu,然後呼叫moyu,這時,在命令列下運作就會輸出hello moyu.
module變數是整個模組檔案的頂層變量,它的exports屬性就是模組向外輸出的接口,如果直接輸出一個函數(就像上面的moyu.js),那麼呼叫模組就是呼叫一個函數,但是模組也可以輸出一個對象,下面對moyu.js進行改寫:
var moyu = new Object();var fn = function(a){ console.log(a);}moyu.fn = fn;module.exports = moyu; 上面的代码表示模块输出moyu对象,该对象有一个fn方法。 var moyu = require("./moyu");moyu("hi,moyu");
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是Node.js的新手教學(二)的詳細內容。更多資訊請關注PHP中文網其他相關文章!