青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠(yuǎn)。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數(shù)據(jù)加載中……

nodejs的express模塊(web框架)使用

安裝cnpm:
npm config set registry https://registry.npm.taobao.org(永久使用)
npm --registry https://registry.npm.taobao.org install express(臨時使用)
1、安裝 Express
cnpm install express --save 安裝Express并將其保存到依賴列表中
body-parser - node.js 中間件,用于處理 JSON, Raw, Text 和 URL 編碼的數(shù)據(jù)。
cookie-parser - 這就是一個解析Cookie的工具。通過req.cookies可以取到傳過來的cookie,并把它們轉(zhuǎn)成對象。
multer - node.js 中間件,用于處理 enctype="multipart/form-data"(設(shè)置表單的MIME編碼)的表單數(shù)據(jù)。
cnpm install body-parser --save
cnpm install cookie-parser --save
cnpm install multer --save
cnpm list express 安裝完后,我們可以查看下 express 使用的版本號:
2、簡單使用
//express_demo.js 文件
var express = require('express');
var app = express();
 
app.get('/', function (req, res) {
   res.send('Hello World');
})
 //var server = app.listen(3456, "127.0.0.1", function () {})指定ip,一般用的是127.0.0.1
var server = app.listen(8081, function () {
 
  var host = server.address().address
  var port = server.address().port
 
  console.log("應(yīng)用實例,訪問地址為 http://%s:%s", host, port)
 
})
在瀏覽器中訪問 http://127.0.0.1:8081,會顯示hello world
Request 對象 - request 對象表示 HTTP 請求,包含了請求查詢字符串,參數(shù),內(nèi)容,HTTP 頭部等屬性
.獲取客戶ip地址:request.ip
.獲取上傳的文件:request.files
Response 對象 - response 對象表示 HTTP 響應(yīng),即在接收到請求時向客戶端發(fā)送的 HTTP 響應(yīng)數(shù)據(jù)
重定向redirect
    response.redirect("/hello/anime");//重定向到/hello/anime
.發(fā)送文件sendFile
   response.sendFile("/path/to/anime.mp4");
.渲染網(wǎng)頁模板render,即把變換的內(nèi)容加載到網(wǎng)頁.
    response.render("index", { message: "Hello World" });//將message變量傳入index模板,值為"Hello World"渲染成HTML網(wǎng)頁
    
2、路由決定了由誰(指定腳本)去響應(yīng)客戶端請求。
//  /del_user 頁面響應(yīng)
app.get('/del_user', function (req, res) {
   console.log("/del_user 響應(yīng) DELETE 請求");
   res.send('刪除頁面');
})
// 對頁面 abcd, abxcd, ab123cd, 等響應(yīng) GET 請求
app.get('/ab*cd', function(req, res) {   
   console.log("/ab*cd GET 請求");
   res.send('正則匹配');
})
3、靜態(tài)文件express.static 中間件來設(shè)置靜態(tài)文件路徑。例如,如果你將圖片, CSS, JavaScript 文件放在 public 目錄下,可以這么寫:
app.use('/public', express.static('public'));
4、GET 、post方法:
index.html內(nèi)容
<html>
<body>
<form action="http://127.0.0.1:8081/process_get" method="GET">
First Name: <input type="text" name="first_name">  <br>
 
Last Name: <input type="text" name="last_name">
<input type="submit" value="Submit">
</form>
</body>
</html>
server.js
ar express = require('express');
var app = express();
 
app.use('/public', express.static('public'));
 
app.get('/index.htm', function (req, res) {
   res.sendFile( __dirname + "/" + "index.htm" );
})
 
app.get('/process_get', function (req, res) {
 
   // 輸出 JSON 格式
   var response = {
       "first_name":req.query.first_name,
       "last_name":req.query.last_name
   };
   console.log(response);
   res.end(JSON.stringify(response));
})
 
var server = app.listen(8081, function () {
 
  var host = server.address().address
  var port = server.address().port
 
  console.log("應(yīng)用實例,訪問地址為 http://%s:%s", host, port)
 
})
5、上傳文件
var express = require('express');
var app = express();
var fs = require("fs");
 
var bodyParser = require('body-parser');
var multer  = require('multer');
 
app.use('/public', express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({ dest: '/tmp/'}).array('image'));
 
app.get('/index.htm', function (req, res) {
   res.sendFile( __dirname + "/" + "index.htm" );
})
app.post('/file_upload', function (req, res) {
 
   console.log(req.files[0]);  // 上傳的文件信息
 
   var des_file = __dirname + "/" + req.files[0].originalname;
   fs.readFile( req.files[0].path, function (err, data) {
        fs.writeFile(des_file, data, function (err) {
         if( err ){
              console.log( err );
         }else{
               response = {
                   message:'File uploaded successfully', 
                   filename:req.files[0].originalname
              };
          }
          console.log( response );
          //中文編碼處理
          res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
          res.end( JSON.stringify( response ) );
       });
   });
})
6、Cookie 管理
var cookieParser = require('cookie-parser')
var util = require('util');
 
var app = express()
app.use(cookieParser())
 
app.get('/', function(req, res) {
    console.log("Cookies: " + util.inspect(req.cookies));
})
7、添加 favicon.ico 
在  public/images 添加文件 favicon.ico 
打開 myapp 下的 app.js 在其中添加
var favicon = require('serve-favicon');
app.use(favicon(__dirname+'/public/images/favicon.ico'));
然后通過命令行安裝 serve-favicon 
重啟應(yīng)用即可
8、中間件:處理HTTP請求的函數(shù).
參數(shù)為:
.四個的時候---第一個為錯誤處理,第二個為客戶請求request,第三個為服務(wù)器響應(yīng)respond,第四個為next中間件. 如function(error, request, response, next){}
.三個的時候---第一個客戶請求request,第二個為服務(wù)器響應(yīng)respond,第三個為next中間件. 如function(request, response, next){}
.兩個的時候---第一個客戶請求request,第二個為服務(wù)器響應(yīng)respondfunction. 如function(request, response){}
中間件use
app.use(express.bodyParser());//使用body參數(shù)
app.use(express.methodOverride());//使用函數(shù)覆蓋
app.use(app.router);//使用路由
app.use(function(err, req, res, next){
 console.error(err.stack);
 res.send(500, 'Something broke!');
});//錯誤內(nèi)容顯示
9、動態(tài)網(wǎng)頁模板views
res.render('index',{title:"最近文章"});
npm install -g express-generator
npm update -g express
express APP_NAME  //創(chuàng)建項目
express APP_NAME -e  //以ejs作為模板引擎創(chuàng)建項目
將ejs文件(EJS 是一套簡單的模板語言,用普通的 JavaScript 代碼生成 HTML 頁面)改為html
var ejs = require('ejs');
app.engine('.html', ejs.__express);
app.set('view engine', 'html');  //app.set('view engine', 'ejs');
npm install;//在項目文件夾
每次修改代碼后,需要手動重啟服務(wù),可以使用nodemon進行自動重啟
npm install -g nodemon
將package.json文件中的代碼修改為:
"start": "nodemon ./bin/www

posted on 2019-06-05 09:55 Benjamin 閱讀(573) 評論(0)  編輯 收藏 引用 所屬分類: 雜談

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日产欧美一区| 久久一二三国产| 欧美国产日韩一区二区在线观看 | 亚洲精品久久久蜜桃| 亚洲精品一线二线三线无人区| 亚洲一区二区三区免费观看| 美女诱惑一区| 午夜欧美电影在线观看| 欧美精品一区二区三区蜜桃| 国语精品中文字幕| 午夜精品久久久久久久99樱桃| 亚洲国产精品久久人人爱蜜臀| 久久精品动漫| 国产日韩欧美成人| 亚洲欧美日韩一区在线观看| 日韩一级网站| 欧美色偷偷大香| 亚洲精品一区二区三区99| 欧美大片第1页| 欧美77777| 日韩网站在线观看| 亚洲精品在线免费| 欧美视频一区二区三区| 欧美va亚洲va香蕉在线| 欧美激情视频网站| 亚洲视频网站在线观看| 中文国产亚洲喷潮| 国产精品一区视频| 久久精品99国产精品日本 | 日韩写真视频在线观看| 欧美在线影院| 亚洲国产成人tv| 欧美国产日韩免费| 狠狠爱www人成狠狠爱综合网| 中文av一区特黄| 一区二区三区欧美| 亚洲午夜在线视频| 国产欧美在线看| 亚洲午夜精品在线| 亚洲一区中文| 欧美一二三区精品| 亚洲福利视频一区| 久久久久久9999| 一区二区三区视频观看| 欧美激情女人20p| 亚洲黄色免费网站| 欧美日韩一区三区四区| 午夜一区在线| 久久久久久婷| 久久久久欧美| 欧美电影在线播放| 欧美一级成年大片在线观看| 亚洲欧美日韩综合| 免费观看国产成人| 欧美日韩四区| 亚洲精品国精品久久99热| 亚洲精品美女91| 欧美电影免费观看高清| 亚洲精品美女| 在线亚洲电影| 国产精品久久久久久久久久尿| 久久精品中文字幕一区| 欧美成人午夜剧场免费观看| 亚洲大胆人体视频| 蜜臀av性久久久久蜜臀aⅴ| 香蕉av福利精品导航| 国产欧美一区二区精品秋霞影院| 亚洲欧美另类久久久精品2019| 亚洲啪啪91| 午夜精品福利视频| 久久九九精品| 亚洲国产日韩欧美在线99| 亚洲欧美国产精品桃花| 久久久国产精彩视频美女艺术照福利| 狠狠色伊人亚洲综合网站色| 久久综合给合| 欧美在线亚洲| 欧美视频中文字幕在线| 亚洲免费网址| 欧美成人a∨高清免费观看| 亚洲精品美女在线观看播放| 欧美丝袜一区二区| 欧美一区二区在线看| 欧美激情bt| 亚洲欧美日韩综合一区| 国产一区二区三区奇米久涩| 亚洲无限av看| 久久一区精品| 国内精品久久国产| 亚洲免费在线看| 欧美 日韩 国产一区二区在线视频 | 国产视频一区在线观看一区免费| 久久精品亚洲一区二区| 欧美一区二区三区精品电影| 欧美日韩成人网| 欧美激情亚洲另类| 亚洲综合社区| 亚洲激情欧美激情| 国产精品免费观看在线| 久久综合久久久久88| 99在线精品视频在线观看| 日韩小视频在线观看| 国产美女精品免费电影| 欧美sm极限捆绑bd| 亚洲一区二区三区中文字幕| 99热免费精品在线观看| 久久综合精品一区| 亚洲在线视频一区| 亚洲欧洲日产国产综合网| 国产一区二区成人| 欧美手机在线视频| 欧美国产日韩视频| 日韩视频欧美视频| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美日韩国产综合精品二区| 亚洲级视频在线观看免费1级| 国产日韩欧美在线观看| 欧美性猛交xxxx免费看久久久| 一区二区精品国产| 国产精品欧美一区喷水| 美女黄网久久| 亚洲视频网在线直播| 国产精品国产自产拍高清av| 一区二区国产在线观看| 欧美大片网址| 久久久久免费视频| 久久精品国产清高在天天线| 午夜精品一区二区三区在线播放| 9色国产精品| 欧美视频在线观看一区二区| 免费不卡在线视频| 久久午夜精品一区二区| 久久久av水蜜桃| 欧美一区二区三区免费视频| 日韩午夜高潮| 亚洲另类一区二区| 日韩视频在线免费观看| 日韩一级精品视频在线观看| 亚洲精品久久久久久一区二区| 亚洲国产欧美日韩| 亚洲区第一页| 一区二区三区欧美视频| 这里只有精品视频在线| 亚洲一区二区动漫| 午夜激情综合网| 欧美中文在线观看国产| 久久精品视频在线| 久久在线免费| 欧美精品在线观看播放| 欧美日韩午夜精品| 国产精品视频xxxx| 国产综合香蕉五月婷在线| 亚洲第一黄网| 欧美午夜视频一区二区| 国产精品成人观看视频国产奇米| 欧美性猛交xxxx乱大交退制版| 国产精品视频免费| 国产一区二区精品久久91| 亚洲第一网站| 一区二区三区产品免费精品久久75 | 欧美福利视频在线观看| 亚洲国产欧美国产综合一区| 一本一本久久a久久精品综合妖精| 亚洲视频二区| 久久久久久999| 欧美日韩成人精品| 国产日韩欧美亚洲一区| 亚洲福利视频一区| 亚洲免费在线观看视频| 麻豆成人91精品二区三区| 欧美一级一区| 久久资源av| 亚洲日本中文字幕免费在线不卡| 99精品视频一区| 久久久久久精| 欧美日本国产精品| 国产亚洲一区精品| 亚洲美女免费视频| 亚洲欧美日韩精品一区二区| 久久综合给合久久狠狠狠97色69| 亚洲激情成人| 欧美亚洲一区| 欧美日韩 国产精品| 国产一区二区三区不卡在线观看| 亚洲精品孕妇| 久久久99国产精品免费| 亚洲精品国产系列| 久久精品国产v日韩v亚洲| 欧美日韩理论| 亚洲大片免费看| 久久9热精品视频| 亚洲精品自在在线观看| 久久久精品一品道一区| 国产精品丝袜白浆摸在线| 亚洲人体大胆视频| 久久久久se| 亚洲午夜电影| 欧美精品久久久久久久免费观看| 国内精品视频在线观看| 香蕉久久夜色精品|