node介紹和mongodb資料庫的安裝
阿新 • • 發佈:2018-12-24
querystring
作用:將瀏覽器傳遞過來的鍵值對的引數字串,轉成js物件
注意點:它不負責接收瀏覽器傳遞過來的資料,只負責將傳遞過來的資料,進行轉換
GET&POST
GET : req.url ---> url.parse(url字串) ---> querystring.parse(urlObj.query) POST : req.on('data',(chunk)=>{ body+=chunck }) req.on('end',()=>{ querystring.parse(body) })
path&fs
path的作用
獲取要操作檔案的路徑
path.join(__dirname,'要操作的檔案路徑') 用來拼接路徑
fs的作用
操作伺服器硬碟上面的檔案(開發完畢之後,經過打包壓縮等一系列優化之後上傳上去的檔案)
讀 readFile
寫 writeFile/appendFile
資料夾的操作
mkdir
rmdir
exists
rename
自定義模組
模組的分類
核心模組(包) 第三方模組(包) npmjs.com 自定義模組(包) 淘寶開源:http://code.taobao.org 注意點: 在使用require引入模組的時候,核心模組和第三方模組,寫上名字即可 如果是自定義模組,寫上全路徑
如何去自定義模組
自執行函式
(function($){
xxx:xxx
})(jQuery)
AMD:requireJS
#define([..,..],function($,xxx){
})
CommonJS
引入: require('核心/第三方/自定義模組')
暴露,匯出 : module.exports = {}
自定義模組
實現自定義模組
把我們寫好的自定義模組釋出到npmjs上面去
前提準備:
1、把我們要上傳上去的自定義模組,按照npmjs的要求進行完善
package.json(描述我們自己寫的這個自定義模組)
如果要想正確釋出到npmjs.com這個時候,完善package.json中的內容,詳見下一章節
2、註冊npmjs.com的賬號
釋出到npmjs.com【網速還是要可以】
使用npm指令釋出,在終端裡面操作
步驟:
1、要讓終端連線上我們npmjs.com
`
npm adduser,會提示讓你輸入使用者名稱,密碼,郵箱
`
2、釋出
`
npm publish
`
3、升級
1、改程式碼,一定要把版本號遞增(不能減少)
4、撤銷
```
npm unpublish [email protected]
npm unpublish 包的名稱@版本號
```
注意事項:
1、必須在我們專案根目錄下面,在進行操作
2、在任何終端裡面輸入密碼都是沒有提示的,輸完之後,按回車即可
3、每次升級一定要對版本號進行遞增,大的版本迭代,更改一個大版本號,如果是小版本修復,就寫上小的版本號
釋出自定義模組到npmjs.com的時候,package.json的配置
步驟:
1、在專案的根目錄下,使用npm init 或是 npm init -y 來生成一個package.json
下載第三方包的途徑補充
平時下載第三方包:
npm i/install 包名稱 --save-dev/--save
http://npm.taobao.org/
因為我們有時候去npmjs.com上面下載第三方包可能比較慢,這個時候我們就可以考慮從國內的淘寶伺服器上面去下載
前提:
1、安裝nrm 用來切換映象 `npm i nrm -g`
nrm ls 看當前有哪些映象可用
nrm use 映象名稱,切換映象
2、安裝cnpm 這個全域性包,用來從http://npm.taobao.org/下載第三方包
`
npm i cnpm -g
`
使用:
在專案根目錄下,使用cnpm i 包名 --save,來使用
開發建議:
喜歡從npmjs.com上面下載,網速好,建議還是從npmjs.com上面去下載
伺服器端渲染(伺服器端動態生成網頁)
前端開發的兩種方式
1、服務端渲染(Node)
2、前後端分離(趨勢)
案列1
當在瀏覽器中輸入 http://127.0.0.1:5555/index.html 把首頁返回給你,並且讓li變紅
步驟:(兩大步)
傳送第一次請求 http://127.0.0.1:5555/index.html
1、後臺接收到請求,明白需要請求的是index.html
2、利用fs,path去讀取伺服器硬碟上面的index.html
3、去資料庫中獲取需要的資料
4、利用資料,生成html片段,然後使用片段替換index.html中的佔位符
5、將最終完整的網頁返回給瀏覽器去解析呈現
6、瀏覽器拿著伺服器返回的完整的html內容進行解析渲染
7、當解析到<link>標籤時,會再向伺服器傳送請求,請求伺服器上面的css資源
傳送第二次請求 http://127.0.0.1:5555/abc.css
1、後臺接收到請求,明白需要的是site.css的內容
2、利用fs,path去讀取伺服器硬碟上面的site.css
3、將內容返回給瀏覽器去渲染
4、瀏覽器拿到返回的css內容,對瀏覽器中的li進行css渲染
xtemplate&xtpl
node中,進行生成動態網頁的模版
注意點:
這兩個必須要一起用
xtemplate:就是在index.html(網頁中)寫一些類似於模版引擎的語法(在我們網頁中進行佔位的),這個就有點像我們上一章節中`${lis}`的作用,注意,我們如果用了xtemplate你就要按照它的格式來寫,並且xtemplate語法很強大(比如:實現頁面之間的整合),總結一句話,它的作用就是在頁面中進行佔位的
參考:https://github.com/xtemplate/xtemplate/blob/master/docs/syntax-cn.md
xtpl:讀取需要替換的網頁,將裡面用xtemplate寫的東西,用真實的資料替換掉,並且它還還會幫我們返回生成好的完整的html頁面
參考:https://www.npmjs.com/package/xtpl
寫程式碼
1、在index.html中使用xtemplate寫上佔位的程式碼
2、在開啟web服務的js中使用xtpl,利用真實的資料替換index.html中佔位的部分,最終得到替換之後的結果(完整的帶有資料的html頁面)
使用步驟
1、安裝包
```
npm i xtpl xtemplate --save
```
2、現在html中利用xtemplate語法進行佔位(不需要在頁面中匯入xtemplate)
3、在開啟web服務的js中,使用xtpl,利用真實的資料,替換index.html中的這些佔位符,最終得到一個完整的帶有資料的html頁面
簡易的音樂播放器
步驟:
1、利用xtemplate&xtpl把我們音樂介面呈現出來
步驟:
1、瀏覽器傳送請求: http://127.0.0.1:3000/list.html
2、利用xtemplate在list.html寫上佔位的程式碼
3、在開啟web伺服器的js中利用xtpl,結合真實的資料,替換list.html中的佔位符,得到一個帶有資料的html
4、返回給瀏覽器去解析呈現
2、再去實現播放音樂的功能
因為我們等下同一時刻只能播放一首音樂,所以寫一個<audio>標籤就行了
1、當點選了我們頁面上面每一個音樂播放的超連結
2、觸發play函式,把音樂名稱傳遞過來,在裡面拼接好url
3、拿著audio標籤,傳送請求 audio更改src屬性就行了
4、後臺收到請求之後,找到對應的音訊檔案,返回給audio標籤
5、audio拿到之後就可以播放了
思考:
如何用一個audio標籤播放多首音樂:前提:同一時刻只會播放一首音樂???
當點選某個連線的時候,就將我們的audio的src更改成要播放音樂的url
瀏覽器當傳送GET請求的時候,如果路徑中有中文或是特殊字元,它會對我們的中文和特殊字元進行URL編碼
Node中,使用querystring.unescape(瀏覽器傳遞過來的編碼之後的GET請求路徑字串)
安裝mongodb資料庫
配置環境變數
將安裝目錄配置到環境變數中
啟動mongodb資料庫
前提準備:
在C盤下面建立一個資料夾(mongodb_datas)
啟動
64位 : mongod --dbpath c:/mongodb_datas