nodejs入門指南(二)

李狗蛋發表於2017-12-26

1.安裝:

請參考:http://www.runoob.com/nodejs/nodejs-install-setup.html進行下載和安裝

2.模組:

  在Node.js中,以模組為單位劃分所有功能,並且提供了一個完整的模組載入機制,這時的我們可以將應用程式劃分為各個不同的部分。不可能用一個js檔案去寫全部的業務。肯定要有MVC。 
複製程式碼

狹義的說,每一個JavaScript檔案都是一個模組;而多個JavaScript檔案之間可以相互require,他們共同實現了一個功能,他們整體對外,又稱為一個廣義上的模組

Node.js中,一個JavaScript檔案中定義的變數、函式,都只在這個檔案內部有效。當需要從此JS檔案外部引用這些變數、函式時,必須使用exports物件進行暴露。使用者要用require()命令引用這個JS檔案。

例如:test.js檔案中的程式碼:

   var msg = "你好";
   exports.msg = msg;
   msg這個變數,是一個js檔案內部才有作用域的變數。
複製程式碼

如果別人想用這個變數,那麼就要用exports進行暴露。

使用者:

   var test = require("./test.js");
   console.log(test);
複製程式碼

使用者用test來接收exports物件,也就是說,這裡的test變數,就是檔案中的exports變數。

一個JavaScript檔案,可以向外exports無數個變數、函式。但是require的時候,僅僅需要require這個JS檔案一次。使用的它的變數、函式的時候,用點語法即可。所以,無形之中,增加了一個頂層名稱空間。

Node中,js檔案和js檔案,就是被一個個exports和require構建成為網狀的。不是靠html檔案統一在一起的。

需要注意的是:如果在require命令中,這麼寫:

  var test= require("test.js");//沒有寫./,所以不是一個相對路徑。是一個特殊的路徑。那麼Node.js將該檔案視為node_modules目錄下的一個檔案
複製程式碼

node_modules資料夾並不一定在同級目錄裡面,在任何直接祖先級目錄中,都可以。甚至可以放到NODE_PATH環境變數的資料夾中。這樣做的好處稍後你將知道:分享專案的時候,不需要帶著modules一起給別人。

我們可以使用資料夾來管理模組,比如var bar = require("bar");那麼Node.js將會去尋找node_modules目錄下的bar資料夾中的index.js去執行。

每一個模組資料夾中,推薦都寫一個package.json檔案,這個檔案的名字不能改。node將自動讀取裡面的配置。有一個main項,就是入口檔案:

{ "name": "jinsanpang", "version": "1.0.1", "main": "app.js" } 這個package.json檔案,要放到模組資料夾的根目錄中去

根據上述所學,我們知道,模組就是一些功能的封裝,所以一些成熟的、經常使用的功能,都有人封裝成為了模組。並且放到了社群中,供人免費下載。這個偉大的工具就是npm (https://www.npmjs.com/) ,使用npm install 模組名字就可以安裝自己需要的模組

需要注意的是:require()別的js檔案的時候,將執行那個js檔案。require()中的路徑,是從當前這個js檔案出發,找到別人。而fs是從命令提示符找到別人。

3.模板引擎:

就我個人而言,我更希望對於我們前端開發工作人員來說,做到前後端分離。如果你是後臺開發人員,沒關係你可以用模板引擎實現前端view。有倆個比較著名的:一個是ejs,一個是jade。大家有興趣可以參考:http://blog.csdn.net/show_me_the_world/article/details/51945035和https://www.jianshu.com/p/e2a9cd3b7e56
複製程式碼

本系列課程以實戰例子為主,由於個人知識有限,如果在此過程中有什麼問題,歡迎給我留言。

下一節:node實戰入門express框架。歡迎和我一起繼續學習

相關文章