티스토리 뷰

Language/Node.js

node.js express server 띄우기

KyeongRok Kim 2017. 7. 2. 16:22

node.js express server 띄우기


helllo를 출력해주는 node.js express server를 띄워보자.


필요한 package

다음과 같이 3개가 필요하다. express, morgan, cors

npm install --save express morgan cors


프로젝트 구조

project_root/

server/

app.js

index.js


index.js

1
2
3
4
5
6
'use strict';
const app = require('./app');
const PORT = process.env.PORT || 9000;
app.listen(PORT, () => {
    console.log(`App listening on port ${PORT}!`);
});
cs

app.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// server/app.js
const express = require('express');
const morgan = require('morgan');
const cors = require('cors');
const path = require('path');
const app = express();
const client = require('cheerio-httpcli');
 
// Setup logger
app.use(morgan(':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] :response-time ms'));
 
// Serve static assets
app.use(express.static(path.resolve(__dirname, '..''build')));
 
app.use(cors());
 
var corsOptions = {
    origin: '*',
    optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
}
 
// Always return the main index.html, so react-router render the route in the client
app.get('/', (req, res) => {
    res.sendFile(path.resolve(__dirname, '..''build''index.html'));
});
 
app.get('/hello', cors(corsOptions), (req, res) => {
    client.fetch('http://www.google.com/search', {q:"맛집"}, (err, $, response, body)=>{
        res.send(body);
    });
});
 
app.get('/bye', cors(corsOptions), (req, res) => {
    let greeting = {"message""bye"};
    res.send(greeting);
});
 
module.exports = app;
cs


package.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
  "name""react_app_05",
  "version""0.1.0",
  "private"true,
  "dependencies": {
    "axios""^0.16.2",
    "cheerio-httpcli""^0.7.0",
    "cors""^2.8.3",
    "express""^4.15.3",
    "morgan""^1.8.2",
    "react""^15.5.4",
    "react-dom""^15.5.4"
  },
  "devDependencies": {
    "react-scripts""1.0.7"
  },
  "scripts": {
    "start""react-scripts start",
    "build""react-scripts build",
    "test""react-scripts test --env=jsdom",
    "eject""react-scripts eject",
    "server""node server"
  }
}
 
cs


실행 방법

node server


end.




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함