一、全局安裝expresscss
npm install express -gnode
可是,在express4.x版本中已經不含有express命令了。web
須要安裝 express-generatorexpress
npm install express-generator -gnpm
二、建立express項目json
express -e node-demoapp
建立的項目的目錄結構模塊化
node_modules, 存放全部的項目依賴庫。(每一個項目管理本身的依賴,與Maven,Gradle等不一樣)
package.json,項目依賴配置及開發者信息
app.js,程序主入口
public,靜態文件(css,js,img)
routes,路由文件(MVC中的C,controller)
views,頁面文件(Ejs模板)
bin/www (啓動文件,用於啓動app.js)函數
三、進入項目中,安裝依賴包post
npm install
四、啓動web
安裝nodemon
npm install nodemon -g
五、修改app.js:
把最有一行//module.exports = app;註釋掉
換成:app.listen(3000);
六、執行
nodemon app.js
而後修改程序,看命令串口有沒有動態加載修改的提示,有的話,就表示生效。
七、測試
本地的3000窗口被打開,而後訪問:localhost:3000
八、將咱們所須要的css,js等文件放在public裏面,可是在引用的時候要注意把引用的路徑不能使用相對路徑,要使用絕對路徑,由於使用相對路徑的話,會找不到文件,具體引用以下
九、能夠將頁面模塊化話
好比:將一個頁面分爲頭部、內容顯示區域、底部
引用的時候使用include,以下:
十、路由功能
路由功能,是Express4之後全面改版的功能,在應用程序加載隱含路由的中間件的時候,不用擔憂擔憂在中間件被裝載相對於路由器中間件的順序,定義路由的方式是不變的,路由系統中增長2個新的功能:
(1)app.router()函數,建立可連接的途徑處理程序的路由路徑
app.route方法會返回一個Route實例,它能夠繼續使用全部的HTTP方法,包括get,post,all,put,delete,head等。
(2)express.Router類,建立模塊化安裝路徑的處理程序
express.Router類,則能夠幫助咱們更好的組織代碼結構。在app.js文件中,定義了app.use(‘/’, routes); routes是指向了routes目錄下的index.js文件,./routes/index.js文件中,express.Router被定義使用,路徑/*處理都會由routes/index.js文件裏的Router來處理。若是咱們要管理不一樣的路徑,那麼能夠直接配置爲多個不一樣的Router。
十一、express託管靜態資源
經過使用express.static來託管靜態文件,好比css、js、圖片等
使用:
或者
這樣設置的換,存放靜態資源文件的目錄名就不會出如今url上,若是靜態資源存放在多個目錄的話,就能夠屢次調用
訪問的路徑參考:
若是想在url上加一個虛擬的目錄:
訪問的路徑參考:
十二、app.locals
這是一個對象。
1三、上傳文件
上傳文件的時候一直上傳不成功,找了好久的緣由都找不到問題,後來換成使用muler上傳:
在express 4.x的版本,使用formidable模塊實現文件上傳至指定目錄,要使用body-parser + multer,
因此須要multer模塊 使用方法是var multer = require(‘multer’);app.use(multer({dest: "./public/avatar"}))就能夠了