sudo npm i express-generator -g
express --version
express -h // help
mkdir new_project && cd new_project
express --view=hbs
npm i
npm init
npm i express
npm i -D nodemon
npm i -D babel-cli babel-preset-env babel-preset-stage-0
app.use(express.static('public'));
app.use("/images", express.static('images'));
path를 명시하지 않으면 default "/"
// 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) => { ... })
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send("Error!");
})
// package.json
script: {
"debug": "DEBUG=express:* node index.js"
}
app.set("trust proxy", "range_of_address");