express 프레임워크 응답 대상res 방법

10991 단어 express

기본 사용 방법

var express = require('express')
var app = express()

app.get('/', [a, b], function(req, res, next), function(req, res))

Res 객체 메서드


res.download()


파일을 다운로드하라는 메시지가 표시됩니다.
res.download(path [, filename] [, fn])
전달 경로를 통해 파일을 첨부 파일로 전달한다.일반적으로 브라우저는 사용자에게 메시지를 다운로드하라고 알릴 것이다.Content-Disposition 헤드 'filename='매개 변수는 기본적으로 경로입니다. 이것은 로그에 표시됩니다.덮어쓰기를 다시 쓰기 위해 매개 변수 값 [, filename] 을 전달할 수 있습니다.
오류가 발생하거나 변환이 끝나면, 이 방법은 함수 fn을 리셋하고, 이 방법은res.sendFile () 를 호출해서 파일을 전달합니다.
예.
res.download('/report-12345.pdf');

res.download('/report-12345.pdf', 'report.pdf')

res.download('/report-12345.pdf', 'report.pdf', function(err) {
    if (err) {

    } else {

    }
})

res.end()


응답 처리 프로세스를 종료합니다.
res.end([data] [,encoding])
Node Core에서 온 http.ServerResponse의 response.end () 방법, 이 방법은 보통 처리 프로세스를 신속하게 끝내고 데이터가 없는 데 사용되지만, 데이터 응답이 필요하면res.send () 또는res.json () 으로 대체합니다.
예.
res.end()

res.status(404).end()

res.json()


JSON 형식의 응답을 보냅니다.
res.json([body])
JSON 응답을 보냅니다. 이 방법은 대상이나 그룹 파라미터를 가진res.send () 방법과 같지만, 이 방법에서null이나undefined 같은 다른 값을 전달할 수 있습니다. (즉 JSON에서도 유효한 값이 아닙니다.)
예.
res.json(null)

res.json({
    user: 'tobi'
})

res.status(500).json({
    error: 'message'
})

res.jsonp()


JSONP를 지원하는 JSON 형식의 응답을 보냅니다.
res.jsonp([body])
JSONP 지원이 있는 JSON 응답을 보냅니다. 이 방법은res.json () 과 같습니다. JSONP 리셋 지원을 제외하고는.
예.
res.jsonp(null)

res.jsonp({
    user: 'tobi'
})

res.status(500).jsonp({
    error: 'message'
})

res.redirect()


요청을 리디렉션합니다.
res.redirect([status,] path)
명시적인 경로로 전환하려면 명시적인 HTTP status 코드가 필요합니다. 없으면 기본 status 코드는'302''Found'입니다.
res.redirect('/foo/bar');

res.redirect('http://example.com');

res.redirect(301, 'http://example.com');

res.redirect('../login');

//  
res.redirect('http://www.baidu.com');

//  , , 'http://example.com/admin/post/new', 'http://example.com/admin'
res.redirect('/admin');

//  , , 'http://example.com/blog/admin/',  'http://example.com/blog/admin/post/new'
res.redirect('post/new')

//  'http://example.com/admin/post/new'
res.redirect('..')

res.redirect('back')

res.render()


뷰 템플릿을 렌더링합니다.
res.render(view [, locals] [, callback])
보기를 렌더링하고 HTML 문자열을 클라이언트에게 보냅니다.locals는 대상이며, 속성은 보기 내의 국부 변수를 정의합니다.콜백은 컴파일링 함수입니다. 만약 제공된다면, 이 방법은 가능한 오류 정보와 렌더링 문자열을 되돌려줍니다.오류가 있으면, 이 방법은next (err) 의 내부 함수를 사용합니다.
PS: 국부 변수cache는 보기 캐시를 확보하고true로 설정하여 개발 과정에서 보기를 캐시합니다. 이렇게 하면 보기는 생산 과정에서 기본적으로 사용할 수 있습니다.
//  view 
res.render('index');

//  , HTML 
res.render('index', function(err, html) {
    res.send(html)
})

//  
res.render('user', { name: 'Tobi' }, function(err, html) {

})

res.send()


다양한 유형의 응답을 보냅니다.
res.send([body])
body 대상은 버퍼 대상, 문자열, 단순한 대상 또는 그룹이 될 수 있습니다.
예.
res.send(new Buffer('whoop'))

res.send({
    some: 'json'
})

res.send('

some html

'
) res.status(404).send('Sorry, we cannot find that') res.status(500).send({ error: 'something blew up' })

이 방법은 자동으로 HTTP 응답 헤더를 제공합니다. 예를 들어 바디 대상이 버퍼 대상이라면, 이 방법은 미리 정의되지 않은 한 'Content-Type' 을 '응용 프로그램/octet-stream' 으로 설정합니다.
res.set('Content-Type', 'text/html')

res.send(new Buffer('

some html

'
))

res.sendFile


파일을 8바이트 스트림으로 보냅니다.
res.sendFile(path [, options] [, fn])
지정된 경로로 파일을 전달하고 파일의 확장자를 사용하여 응답 헤드 Content-Type을 설정합니다.루트 옵션이 파라미터 옵션에 설정되어 있지 않으면 path는 절대 경로가 되어야 합니다.
options 정보
Property
Description
Default
Availability maxAge
Sets the max-age property of the Cache-Control header in milliseconds or a string in ms format
0
  root
Root directory for relative filenames.
 
  lastModified
Sets the Last-Modified header to the last modified date of the file on the OS. Set false to disable it.
Enabled
4.9.0+ headers
Object containing HTTP headers to serve with the file.
 
  dotfiles
Option for serving dotfiles. Possible values are “allow”, “deny”, “ignore”.
“ignore”
 
예.
app.get('/file/:name', function (req, res, next) {

  var options = {
    root: __dirname + '/public/',
    dotfiles: 'deny',
    headers: {
        'x-timestamp': Date.now(),
        'x-sent': true
    }
  };

  var fileName = req.params.name;
  res.sendFile(fileName, options, function (err) {
    if (err) {
      console.log(err);
      res.status(err.status).end();
    }
    else {
      console.log('Sent:', fileName);
    }
  });

})

res.sendStatus()


응답 상태 코드를 설정하고 문자열 형식으로 응답체의 일부분으로 보냅니다.
res.sendStatus(statusCode)
응답 HTTP 상태 코드를 statusCode로 설정합니다.
res.sendStatus(200); // equivalent to res.status(200).send('OK')
res.sendStatus(403); // equivalent to res.status(403).send('Forbidden')
res.sendStatus(404); // equivalent to res.status(404).send('Not Found')
res.sendStatus(500); // equivalent to res.status(500).send('Internal Server Error')

좋은 웹페이지 즐겨찾기