>  기사  >  웹 프론트엔드  >  nodejs의 express 프레임워크 미들웨어와 app.use 및 app.get 메소드 분석

nodejs의 express 프레임워크 미들웨어와 app.use 및 app.get 메소드 분석

不言
不言원래의
2018-09-07 17:30:366414검색

이 글의 내용은 nodejs의 express 프레임워크의 미들웨어와 app.use 및 app.get 메소드에 대한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. . 돕다.

노드를 사용하여 프로젝트를 개발합니다. Express는 일반적으로 사용되는 프레임워크입니다. 다음은 핵심 사용 미들웨어와 앱의 사용 및 가져오기 방법을 소개합니다.

미들웨어 구현은 매우 간단합니다. 다음 단계는 app.get/use입니다. 일부 용도:

// 一个简单的中间件
function middleware(req, res, next){
    // req 参数可以接受一些请求的参数(req.query/req.body) 和 请求头信息
    // res 用于响应信息
    // 调用next()方法则进入下一个中间件
}

// 几种常见的调用方式
app.use(middleware);
app.use('/user',middleware); // 匹配部分路径
app.get('/login',middleware);

경로 및 함수를 작성하는 방법과 관련하여 다음 예는 다음과 같습니다.

app.get(path,function); // 接收两个参数 路径 和 一个回调函数
app.use(path,function/router); // 也是接收两个参数 路径和get的区别是第二个可以放回调函数或者router对象

//值得注意的是,path如果忽略,如:app.use(function/router);也是合法的写法,表示匹配所有的路径

하지만 우리는 종종 이런 작성 방법도 볼 수 있습니다.

// get 访问示例会匹配/app和其子集路径,如:http:127.0.0.1:3000/app 以及http:127.0.0.1:3000/app[/aa/bb...等等]都会匹配
app.get('/app',(req, res, next) => {
    //TODO SOMETHING...
});

//use 路由匹配和get方法一样
app.use('/app',(req, res, next) => {
    //TODO SOMETHING...
});

//另一种写法
app.use((req, res, next) => {
    //TODO SOMETHING...
});

실제로 그 뒤에 구현되어 있습니다. 또한 매우 간단합니다. 클래스(req, res, next)=>{} 함수를 반환하는 것만으로도 충분합니다. 예:

const session = require('express-session');

app.use(session({
    secret: 'test01',
    resave: false,
    saveUninitialized: false
}));

관련 권장 사항:

값과 세션을 가져오고 게시하는 표현 방법을 설명하는 예 nodejs에서 확인

위 내용은 nodejs의 express 프레임워크 미들웨어와 app.use 및 app.get 메소드 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.