安裝Express
node
一個最小的Express 程序
express
生成程序開發框架
npm
Express猜不出你要用依賴項的哪一個版本,因此你最好給出模塊的主要、次要及修
訂版本號,以避免引入意料以外的bug。好比明確給出"express":"3.0.0"json
要添加模塊的最新版,好比這裏的EJS,能夠在安裝時給npm傳入--save標記。
瀏覽器
獲得
緩存
無論express(1)何時生成package.json文件,你都須要安裝依賴項(如圖8-9所示)。執行npm
install安裝依賴項,而後執行node app.js啓動程序。在瀏覽器中訪問http://localhost:3000查
看程序
服務器
設置環境變量
app
這些環境變量會出如今你程序裏的process.env對象中框架
儘管環境變量NODE_ENV源自Express,但如今不少Node框架都用它通知Node程序它在什麼環
境中,默認爲開發環境。函數
如代碼清單8-3所示, app.configure()方法接受一個表示環境的可選字符串,以及一個函
數。當環境與傳入的字符串相匹配時,回調函數會被當即調用;
改變查找目錄
_dirname:
改變默認視圖模板引擎
由於原先你通 -e 建立的程序,它會默認 用ejs 做爲視圖模板;
經過下面的設置能夠改變默認視圖模板
用文件擴展名指定模板引擎
經過加後綴名的方式強制改變默認模板
虛假照片數據
列表路由
添加photos.list路由
在./app.js中引入photos模塊,訪問你剛剛寫好的exports.list函數。
爲了在首頁/中顯示照片,要把photos.list函數傳給app.get()方法,它會把路徑/上的HTTP GET方法
映射到這個函數上
寫照片列表視圖的模板
將數據輸出到視圖中的方法
實現照片上傳功能總共分三步:
定義照片模型;
建立照片上傳表單;
顯示照片列表。
設定照片上傳目的地址的定製配置項
實現照片模型
Mongoose的模型上有全部的CRUD方法(Photo.create、 Photo.update、 Photo.remove
和Photo.find),因此這樣就搞定了。
建立照片上傳表單
你要把照片目錄傳給POST處理器,並返回一個路由回調,以便處理器能夠訪問這個目錄。
把新路由添加到app.js中,放在默認(/)路由下面:
處理照片提交
顯示上傳照片列表
用Mongoose提供的Photo.find獲取你上傳的照片
建立照片下載路由 /photo/:id/download
在模板中添加標記:
app.js中,在路由定義中找個你喜歡的地方把下面這條路由加進去:
實現照片下載路由
設定下載的文件名
你能夠用res.download()的第二個參數定義一個定製的文件名,在下載時取代默認的原始
文件名。代碼清單8-21修改了以前的實現,給出照片被上傳時提供的名稱,好比Flower.jpeg