refactor: es6 all the things!

This commit is contained in:
Khaled Garbaya
2017-09-20 12:02:27 +02:00
committed by Benedikt Rötsch
parent d1d580f288
commit dc3e8628f3
8 changed files with 94 additions and 48 deletions

8
.eslintrc.js Normal file
View File

@@ -0,0 +1,8 @@
module.exports = {
'extends': 'standard',
'plugins': [
'standard',
'promise'
]
}

56
app.js
View File

@@ -1,46 +1,46 @@
var express = require('express'); const express = require('express')
var path = require('path'); const path = require('path')
var favicon = require('serve-favicon'); // const favicon = require('serve-favicon')
var logger = require('morgan'); const logger = require('morgan')
var cookieParser = require('cookie-parser'); const cookieParser = require('cookie-parser')
var bodyParser = require('body-parser'); const bodyParser = require('body-parser')
var index = require('./routes/index'); const index = require('./routes/index')
var courses = require('./routes/courses'); const courses = require('./routes/courses')
var app = express(); const app = express()
// view engine setup // view engine setup
app.set('views', path.join(__dirname, 'views')); app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'pug'); app.set('view engine', 'pug')
// uncomment after placing your favicon in /public // uncomment after placing your favicon in /public
// app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); // app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev')); app.use(logger('dev'))
app.use(bodyParser.json()); app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.urlencoded({ extended: false }))
app.use(cookieParser()); app.use(cookieParser())
app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public')))
app.use('/', index); app.use('/', index)
app.use('/courses', courses); app.use('/courses', courses)
// catch 404 and forward to error handler // catch 404 and forward to error handler
app.use(function (req, res, next) { app.use(function (req, res, next) {
var err = new Error('Not Found'); var err = new Error('Not Found')
err.status = 404; err.status = 404
next(err); next(err)
}); })
// error handler // error handler
app.use(function (err, req, res, next) { app.use(function (err, req, res, next) {
// set locals, only providing error in development // set locals, only providing error in development
res.locals.message = err.message; res.locals.message = err.message
res.locals.error = req.app.get('env') === 'development' ? err : {}; res.locals.error = req.app.get('env') === 'development' ? err : {}
// render the error page // render the error page
res.status(err.status || 500); res.status(err.status || 500)
res.render('error'); res.render('error')
}); })
module.exports = app; module.exports = app

View File

@@ -4,7 +4,9 @@
"private": true, "private": true,
"scripts": { "scripts": {
"start:watch": "nodemon ./bin/www --ignore public/", "start:watch": "nodemon ./bin/www --ignore public/",
"start": "node ./bin/www" "start": "node ./bin/www",
"lint": "eslint ./app.js routes",
"format": "eslint --fix . --ignore public node_modules"
}, },
"dependencies": { "dependencies": {
"body-parser": "~1.15.2", "body-parser": "~1.15.2",
@@ -16,6 +18,10 @@
"serve-favicon": "~2.3.0" "serve-favicon": "~2.3.0"
}, },
"devDependencies": { "devDependencies": {
"nodemon": "^1.12.1" "nodemon": "^1.12.1",
"eslint": "^3.16.0",
"eslint-config-standard": "^6.2.1",
"eslint-plugin-promise": "^3.4.2",
"eslint-plugin-standard": "^2.0.1"
} }
} }

9
routes/about.js Normal file
View File

@@ -0,0 +1,9 @@
const express = require('express')
const router = express.Router()
/* GET home page. */
router.get('/', function (req, res, next) {
res.render('about', { title: 'About' })
})
module.exports = router

View File

@@ -1,14 +1,14 @@
var express = require('express'); const express = require('express')
var router = express.Router(); const router = express.Router()
/* GET courses listing. */ /* GET courses listing. */
router.get('/', function (req, res, next) { router.get('/', function (req, res, next) {
res.render('courses', { title: 'Courses' }); res.render('courses', { title: 'Courses' })
}); })
/* GET courses listing. */ /* GET courses listing. */
router.get('/:slug', function (req, res, next) { router.get('/:slug', function (req, res, next) {
res.render('courses', { title: `Course with slug ${req.params.slug}` }); res.render('courses', { title: `Course with slug ${req.params.slug}` })
}); })
module.exports = router; module.exports = router

View File

@@ -1,9 +1,9 @@
var express = require('express'); const express = require('express')
var router = express.Router(); const router = express.Router()
/* GET home page. */ /* GET home page. */
router.get('/', function (req, res, next) { router.get('/', function (req, res, next) {
res.render('index', { title: 'Express' }); res.render('index', { title: 'Express' })
}); })
module.exports = router; module.exports = router

14
routes/lessons.js Normal file
View File

@@ -0,0 +1,14 @@
const express = require('express')
const router = express.Router()
/* GET lessons listing. */
router.get('/', function (req, res, next) {
res.render('lessons', { title: 'Lessons' })
})
/* GET lessons listing. */
router.get('/:slug', function (req, res, next) {
res.render('lessons', { title: `Lesson with slug ${req.params.slug}` })
})
module.exports = router

9
routes/settings.js Normal file
View File

@@ -0,0 +1,9 @@
const express = require('express')
const router = express.Router()
/* GET seeting page. */
router.get('/', function (req, res, next) {
res.render('settings', { title: 'Settings' })
})
module.exports = router