Expresshtml
install the Express farmwork globally using NPM 安裝Express模塊:node
npm install Expressexpress
install important modules along with express 安裝一些由express支持的中間件組件:npm
npm install body-parser 處理JSON ,Raw, Text,URL編碼json
npm install cookie-paeser 請求讀取cookie並在響應中設置cookiecookie
npm install multer 處理 multipart/form-dataapp
npm install basic-auth-connet 提供對基本HTTP身份驗證的支持ide
npm install compression : 提供Gzip壓縮支持post
把 Express添加到package.json模塊,確保你部署應用的時候,模塊被安裝ui
Serving Static File 靜態文件服務:
Express provides a built-in middleware express-static to serve static file ,such as image,CSS,Javascript,etc.
static中間件能夠直接從磁盤對客戶端提供靜態文件服務:express.static(path,[options])
var express=require('express');//加載experss模塊 var app=express(); app.use(express.static('untitled'));//靜態文件服務
index.html文件:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>My blogger</title> <form action="http://127.0.0.1:8081/process_get"method="POST"> First Name:<input type="text"name="first_name"><br> Last Name:<input type="text"name="last_name"> <input type="submit"value="Submit"> </form>
<form action="http://127.0.0.1:8081/file_upload"method="POST" enctype="multipart/form-data"> File:<input type="file"name="file"size="50"/> <br> <input type="submit"value="Upload File"/> </form>
</head> <body> </body> </html>
處理GET請求:
var express=require('express');//加載experss模塊 var app=express(); app.use(express.static('untitled'));//靜態文件服務 app.get('/index.html',function (req,res) {//-提交/index.html get請求 res.sendFile(__dirname+"/"+'index.html'); }); app.get('/process_get',function (req,res) {//-提交/process_get 請求 response={ first_name:req.query.first_name, last_name:req.query.last_name }; console.log(response); res.end(JSON.stringify(response)); //JSON格式 }); var server=app.listen(8081,function () { var host=server.address().address; var port=server.address().port; });
處理POST請求:
var express=require('express');//加載experss模塊 var app=express(); var bodyParser=require('body-parser');//body-parser把post正文中的JSON數據解析爲req.body屬性 var urlencodedParser=bodyParser.urlencoded({extended:false}); app.use(express.static('untitled'));//靜態文件服務 app.get('/index.html',function (req,res) {//-提交/index.html get請求 res.sendFile(__dirname+"/"+'index.html'); }); app.post('/process_get',urlencodedParser,function (req,res) { response={ first_name:req.body.first_name, last_name:req.body.last_name }; console.log(response); res.end(JSON.stringify(response)); //JSON格式 }); /*app.get('/process_get',function (req,res) {//-提交/process_get 請求 response={ first_name:req.query.first_name, last_name:req.query.last_name }; console.log(response); res.end(JSON.stringify(response)); //JSON格式 });*/ var server=app.listen(8081,function () { var host=server.address().address; var port=server.address().port; });
問題:
var express=require('express');//加載experss模塊 var app=express(); var fs=require('fs'); var bodyParser=require('body-parser'); var multer=require("multer"); var urlencodedParser=bodyParser.urlencoded({extended:false}); app.use(express.static('untitled'));//靜態文件服務 app.use(urlencodedParser); app.use(multer({ dest:'/vives/'})); app.get('/index.html',function (req,res) {//-提交/index.html get請求 res.sendFile(__dirname+"/"+'index.html'); }); app.post('/process_get',urlencodedParser,function (req,res) { response={ first_name:req.body.first_name, last_name:req.body.last_name }; console.log(response); res.end(JSON.stringify(response)); //JSON格式 }); app.post('/file_upload',function (req,res) { var file=__dirname+'/'+req.files.file.name; fs.readFile(req.files.file.path,function (err,data) { fs.write(file,data,function (err) { if(err){ console.error(err); }else{ response={ message:'File upload successfully', filename:req.files.file.name }; }; console.log(response); res.end(JSON.stringify(response)); }) ; }); }); /*app.get('/process_get',function (req,res) {//-提交/process_get 請求 response={ first_name:req.query.first_name, last_name:req.query.last_name }; console.log(response); res.end(JSON.stringify(response)); //JSON格式 });*/ var server=app.listen(8081,function () { var host=server.address().address; var port=server.address().port; });
module.js:328
throw err;
^
Error: Cannot find module 'multer'
使用 sudo npm install multer -g 在運行還報錯 需安裝在node_modules下 (相關路徑)