Giảng viên: Đỗ Nguyên Kha
Học kỳ 2/2018-2019 @ FIT-HCMUS
npm install --save express
# hoặc
yarn add express
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => res.send('Hello World!'));
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
app.get();
app.post();
app.delete();
app.put();
npm install pug --save
# hoặc
npm install ejs --save
app.set('views', './views');
app.set('view engine', 'pug');
// hoặc
app.set('view engine', 'ejs');
npm install express-session
# hoặc cookie session
npm install cookie-session
npm install connect-redis
const session = require('express-session');
const RedisStore = require('connect-redis')(session);
app.use(session({
store: new RedisStore(options),
secret: 'keyboard cat',
resave: false
}));
function handler(req, res, next) {
}
app.use(handler);
app.use('/path', handler);
# hàm async trả về Promise
async function doSomething() {
const result = await doSomethingElse();
return result.foo;
}
const express = require('express');
const router = express.Router();
router.get('/', function (req, res) {
res.send('Birds home page');
});
npm install express-promise-router
const Router = require('express-promise-router');
const router = Router();
router.get('/', async function (req, res) {
const data = await getSomethingFromDatabase();
res.render('page', data);
});
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).send('Something broke!')
});
npm install --save multer
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
app.post('/profile', upload.single('avatar'), function (req, res, next) {
// req.file is the `avatar` file
// req.body will hold the text fields, if there were any
});
npm install sequelize
npm install --save pg pg-hstore