nodejs把前端開發帶入乙個全新的階段,他使得js能夠跑在服務端上,大大強化了js這門語言的可塑性。
ok,環境配置不提,配置好了以後,直接來跑一些簡單的demo
以前一直沒搞懂nodejs複雜的目錄(其實是不懂linux),老把檔案目錄和執行時的目錄搞錯。
在gitbash下,先進入對應的目錄,例如我的js檔案在 d:\node\nodejs下,那麼應該:
$ cd d:
$ cd node/nodejs
這樣就ok啦,如果想跟ide進行配合也不是不行,步驟如下:
1.在node.exe同級下建立project,命名為 nodejs :
2.在ide中新增新建專案,新增剛才的資料夾路徑:
歐~~尅!
接著,在ide裡面新建幾個js檔案,然後在我們的node上面跑一跑(createserver那個demo就不做了)。
建立第乙個檔案:hello.js (null檔案)
建立第二個檔案:world.js(null檔案)
兩個檔案可以在同級目錄,也可以不在。
將下列**填入hello.js:
function
hello
()exports.hello =hello();
開啟gitbash,找到ide中工程的目錄(最好把js檔案放在工程目錄下即可,或者單獨建乙個js資料夾):
然後輸入:$ node hello.js
然後將下列**填入 world.js :
var world = require("./hello.js");
world.hello
執行之,得出下圖:
可以看到,兩次的執行結果一樣。hello.js的執行結果為hello不足為奇,那麼world.js為什麼也輸出hello呢?
這是因為在hello.js中,打包出來乙個公共模組,exports.hello =function()
而在world.js中,引入了這個模組,並且賦值給變數world:
var world = require('./hello.js') /*引入【hello.js裡面打包的
模組】*/
/*此時,world相當於擁有共有模組的所有屬性和方法了,那麼此時,這個
world有乙個方法為hello,我們呼叫這個hello方法,world.hello ,自然
而然輸出hello*/
如果將hello.js改進一下,
var i=0 ;
function
hello
();
執行node hello.js
輸出: //hello for 1
同時更改world.js:
var world = require('./hello.js')
var world1 = require('./hello.js')
world.hello
world1.hello
執行$node world.js
輸出//hello for 1甭管執行幾次,都是這個結果
這說明,引入模組時,只有第一次引入時會初始化模組。
模組的集合:包(package)
所謂的包,就是內部整合了好多模組,主要使用乙個入口檔案作為包的入口,該檔案的匯出物件作為包的公有模組:
一--
-nodejs|一-
---js
|---
--main.js
|---
---head.js
|---
---body.js
|---
---footer.js
|一---
---package
.json
此時,main.js是包的入口和匯出物件模組,在main.js中,很有可能引入了head.js、body.js、footer.js的匯出模組,然後寫入一些功能和方法,最後匯出乙個公有方法,供其他的包或者模組使用。
當模組的檔名是index.js,載入模組時可以使用模組所在目錄的路徑代替模組檔案路徑,因此接著上例,以下兩條語句等價。
當引用包的入口檔案時,require(『./node/nodejs/main.js』)這樣給人感覺彷彿在引用乙個模組,而不是整個包。
解決方法是,將main.js命名為index.js,這樣,在引入包的入口檔案時,直接填寫包入口檔案的路徑:
var cat = require('./js/index.js');
var cat = require('/js');
//上面兩條語句等價
這樣處理後,就只需要把包目錄路徑傳遞給require函式,感覺上整個目錄被當作單個模組使用,更有整體感。
也可以用json檔案來宣告入口:
{
'main':'./main.js'
}
這樣,在引入包的入口檔案時 require(『./node/nodejs』)時,會優先查詢json檔案,並從中讀取入口配置,注意,此時的json一定要在引用的路徑之下。 Docker之核心概念與配置
1.docker 映象 2.docker 容器 docker容器類似於乙個輕量級的沙箱,docker利用容器來執行和隔離應用。容器是從映象建立的應用執行例項。它可以啟動 開始 停止 刪除,而這些容器都是彼此相互隔離 互不可見的。3.docker 倉庫 docker倉庫類似於 倉庫,是docker集中...
nodejs 安裝與配置
參考 直接安裝 在dos命令提示符輸入 node version 檢查版本號 輸入npm v 檢查npm版本號 安裝相關環境 輸入npm install gd express registry npm config set registry 安裝express 在安裝路徑下新建node global...
NodeJs安裝與全域性配置
3 安裝完成之後進入cmd命令列,然後輸入node v測試是否安裝成功,出現版本號就表示安裝成功,如圖 引用塊內容 4 npm的安裝,由於新版的nodejs已經整合了npm,所以之前安裝node的時候npm也連帶裝好了。在命令列中輸入npm v來測試是否已經成功安裝npm,出現版本號就表示成功安裝了...