Nodejs Express 개인 노트
const express=require('express');
let server=express();
server.listen(3000,function () {
console.log('server start')
})
server.get('/get',(req,res)=>{})
server.post('/post',()=>{})
server.use('/use',()=>{})
//
server.get(()=>{})
server.post(()=>{})
server.use(()=>{})
//
server.get('/get',(req,res)=>{
res.write(' ');
res.send({a:12,b:14});
})
미들웨어 - 플러그 인:
1. -
2. next
server.use(express.static('www/') //
server.use(next)=>{ next(); })
server.get('/get',(next)=>{ next(); })
server.get('/get',()=>{})
response
res.send(any);
res.sendFile( ) //
path.resolve(www/aaa) //
res.sendStatus(404) //
=> res.writeHeader(404);
res.write('Not Found');
res.end();
res.redirect('http://www.baidu.com') //
=> res.setHeader('location','http://www.baidu.com');
res.writeHeader(401);
res.end();
데이터 교환
get:
req.query
post:
let bodyParser = require('body-parser')
server.use(bodyParser.urlencoded({extended:false}));
req.body;
post:
const multer=require('multer');
server.use(multer({dest:'upload/'}).any());
req.files;
cookie
1.
2. ---4K
3. --- 、
1.
2.
const cookieParser = require('cookie-parser');
server.use(cookieParser('zzzzzzzzz'));
req.cookies //
res.cookie('name','value',options); //
//
req.signedCookies //
res.cookie('test',555,{ signed:true }); //
session
---
쿠키 - session 은 도 메 인 을 넘 을 수 없습니다.
const cookieSession = require('cookie-session');
server.use(cookieSession({
keys:['zzzzz','xxxxxx','cccccc'], //
secret:'xxx' //
}));
//
server.get('/get', (req,res)=> {
if(!req.session['count']){
req.session.count=1;
}else {
req.session.count++;
}
res.send(` ${req.session.count} `)
})
세 션 납치
sess_id :
1.session ID---
2.
경로: 주소 에 따라 코드 를 호출 합 니 다.
//index.js
server.use('/aritcle',require('./routes/article'));
server.use('/user',require('./routes/user'));
server.use((req,res)=>{
res.send('404 !')
})
//router/aritcle.js
const express = require('express');
const router=express.Router();
router.get('/',()=>{});
router.get('/:id',(req,res)=>{
const {id}=req.params;
console.log(req.params);
res.send(`${id} `);
});
router.post('/:id/comment',()=>{});
router.use('/aaa',require('./aaa'));
module.exports= router;
//router/aaa.js
const express = require('express');
const router=express.Router();
router.get('/a',require('./aaa/a'));
module.exports= router;
//router/aaa/a.js
module.exports=(req,res)=>{
res.send('a!')
}
/user/123123 // 、 SEO 、SPA
req.params
/user?id=123132
req.query
서버 렌 더 링
( ):html
、 、 SEO
( ):html
、 、
:
url =》 =》html,css,js,img... =>
pug 파괴 식 --- 파괴 HTML
const pug=require('pug');
pug.renderFile('./template/pug/1.pug',{
pretty:true,
name:123,
a:1,
b:3,
arr:[1,2,3,4,5]
});
//template/pug/1.pug
doctype
html
head
meat(charset='utf-8')
link(rel='stylesheet',href='/css/main.css')
script(src='main.js')
script.
window.onload=function (ev) {
let div=document.getElementById('div1');
div.onclick=function (ev1) { alert('a'); }
}
body
div.page.main#div1
ul.list
each a in arr
li= a
p.
sad
asd
span :
= name
= a+b
ejs 비파 괴 식 - HTML 구조 유지
const ejs=require('ejs');
ejs.renderFile('./template/ejs/ejs.html',{
a:1,b:2,str:' ',header_path:'component/header.html',
}).then(data=>{
console.log(data)
}).catch(err=>{
console.log(err)
})
//template/ejs/1.html
//
//
//3
// <span><span>
//
% for(let s in arr ){%>
模块化
* ( JS )
1. :
---requireJS-AMD、seaJS-CMD
CMD---
AMD---
CMD+
---vue、angular、react
2.
Node
exports.a=1;
exports.b=2;
module.exports={ a:1,b:2 }
const mod=require('./mod') // 、
WebPack---
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.