express basic

woolim park·2021년 4월 10일
0

install

sudo npm i express-generator -g
express --version
express -h // help

make project

  1. with express-generator
mkdir new_project && cd new_project
express --view=hbs
npm i
  1. without express-generator
npm init
npm i express
npm i -D nodemon
npm i -D babel-cli babel-preset-env babel-preset-stage-0

mock data

https://mockaroo.com

static file

app.use(express.static('public'));
app.use("/images", express.static('images'));

path를 명시하지 않으면 default "/"

routing

// route with params
app.get("/users/:id", (req, res) => {
  let user = Number(req.params.id)
});

// Router-level middleware
const userRouter = express.Router();
app.use("/users", userRouter);

userRouter.get("/:id", (req, res) => { .. })

userRouter.get("/", (req, res, next) => {
  res.sendStatus(200);
  next();
}, (req, res) => {
  console.log("After response");
});

// chaining 을 이용한 권한 체크
userRouter.get("/:id", authCheck, (req, res) => { ... })

custom error handling

app.use((err, req, res, next) => {
	console.error(err.stack);
    res.status(500).send("Error!");
})

express debug mode

// package.json
script: {
  "debug": "DEBUG=express:* node index.js"
}

express proxy

app.set("trust proxy", "range_of_address");

express security

  • Use Helmet's collection of security middleware
  • Use cookies securely
  • Use Transport Layser Security (TLS) for sensitive data
profile
Javascript Developer

0개의 댓글