Express-node.js 프레임워크 학습 노트
지식:
(1) 라우팅
var express =  require("express");
var app = express();
app.get(' ',function(req,res) {
res.send();
res.render();
})
 method , all
app.all("/",function(){ 
});
 , , , 
app.get("/AAb",function(req,res){
 res.send(" ");
});
 。
 GET ,?  。  # 
 /a ,  /a?id=2&sex=nan  。
/^\/student\/([\d]{6})$/      /student/ 6 
 。 , , req.params[0]、[1] 。
 。
1   app.get("/student/:id",function(req,res){
2       var id = req.params["id"];
3       var reg= /^[\d]{6}$/;   //      \d 
4       if(reg.test(id)){   // reg id, 6 
5           res.send(" " + id);
6       }else{
7           res.send(" ");
8       }
9   });
 url 
/path/:id, req.params.id 
/path?id=xx, req.query.id 
 json body  form  req.body 
--
--
app.get(/^\/student\/([\d]{6})$/,function(req,res){
    res.send(" , " + req.params[0]);
});  //   , xxxxxx
app.get("/teacher/:gonghao",function(req,res) {
 res.send(" , " + req.params.gonghao);
})    //   , xxxxx
(2) 정적 파일 서비스
var express = require("express");
var app = express();
app.use("/test",express.static("./ "))   //  , js.html.css 
app.listen(3002);  
(3) 템플릿 엔진과의 조화
(1)views 폴더에ejs 파일
xxxx.ejs :
    -  
xxxx.js :
 : ejs 
var express = require("express");
var app = express();
app.set("view engine", "ejs");   //app.set      //engine: 
app.listen(3003);
app.get('/', function(req, res) {   
    res.render("haha.ejs",{       //res.render
        news: [" "," "," "]
    });
});
02.ejs :
    
    Title 
03.js :
var express = require("express");
var app = express();
app.set("view engine","ejs");  // 
app.get("/",function(req,res) {
    res.render("02.ejs");
});  // 
app.post("/",function(req,res) {
    // 
    res.send(" ");
});  // 
app.listen(3008);
(2)views 폴더에 html 파일
app.engine('.html',require('ejs').renderFile);
app.set("view engine","html");
 :
var express = require('express');
var app = express();
app.engine('.html',require('ejs').renderFile);
app.set("view engine","html");
app.set("views","test"); // views , test 
app.get('/',function(req,res){
    res.render("index2.html");    // test index2.html
});
app.listen(3009);
(4) 중간부품:
var express= require("express");
var app = express();
app.get('/',function(req,res) {
   console.log("1111111");
});
app.get('/',function(req,res) {
    console.log("222222");
});
app.listen(3000);                      // 11111111
var express= require("express");
var app = express();
app.get('/',function(req,res,next) {
   console.log('1111111');
   next();
});
app.get('/',function(req,res) {
    console.log("2222222");
});
app.listen(3000);    // 1111111,2222222
(5)res.render () 컨텐트 렌더링
 res.render("xxx.html") views xxx.html。
 views , , app.set("views","aaaa");
app.set("view engine","html");
app.set("views"," ");
// 
 :
var express = require('express');
var app = express();
app.engine('.html',require('ejs').renderFile);
app.set("view engine","html");
app.set("views","public");
app.get('/',function(req,res){
    res.render("index.html");
});
app.listen(3009);
(6)get 요청
var express = require("express");
var app = express();
app.engine(".html",require("ejs").renderFile);
app.set("view engine","html");
app.set("views","test");
app.get('/pp',function(req,res){  
    console.log(req.query);    
    // , , http://127.0.0.1:3000/pp/?name=123&age=22 { name: '123', age: '22' }
    res.render("test.html");
});
app.listen(3000);
● GET URL , Node , url 。
 Express , url 。 req.query 。
● POST express ,
 body-parser 。 , req.body 。
 , formidable 。
(7)post 요청
(1) body-parser   (parse )
cnpm install body-parser
(2)
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
app.engine(".html",require("ejs").renderFile);
app.set("view engine","html");
app.get("/",function(req,res){
    res.render("post.html");
});
app.use(bodyParser.urlencoded({ extended: false }));
app.post("/",function(req,res){
    console.log(req.body);
    res.send(" ");
});
app.listen(3000);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.