Commit a6c56f4d authored by Japs's avatar Japs Committed by jcunanan05

Start from scratch, init by express-generator

parent b37849aa
{
"presets": ["@babel/preset-env"],
"ignore": ["**/__tests__/**", "*.test.js", "*.spec.js"]
}
# bin folder
bin
# build folder
build
dist
# exclude src
!src/**
\ No newline at end of file
module.exports = {
env: {
es6: true,
node: true
},
extends: [
'eslint:recommended',
'plugin:import/errors',
'plugin:import/warnings'
],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
},
rules: {
'linebreak-style': ['error', 'unix'],
quotes: ['error', 'single'],
semi: ['error', 'always'],
'import/no-commonjs': 'error'
}
};
import express from 'express'; var express = require('express');
import path from 'path'; var path = require('path');
import cookieParser from 'cookie-parser'; var cookieParser = require('cookie-parser');
import logger from 'morgan'; var logger = require('morgan');
import indexRouter from './routes/index'; var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
const app = express(); var app = express();
app.use(logger('dev')); app.use(logger('dev'));
app.use(express.json()); app.use(express.json());
app.use(express.urlencoded({ extended: false })); app.use(express.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('/', indexRouter); app.use('/', indexRouter);
app.use('/users', usersRouter);
export default app; module.exports = app;
...@@ -4,24 +4,22 @@ ...@@ -4,24 +4,22 @@
* Module dependencies. * Module dependencies.
*/ */
import app from '../app'; var app = require('../app');
import debugLib from 'debug'; var debug = require('debug')('myapp:server');
import http from 'http'; var http = require('http');
const debug = debugLib('express-es6-sample:server');
/** /**
* Get port from environment and store in Express. * Get port from environment and store in Express.
*/ */
const port = normalizePort(process.env.PORT || '3000'); var port = normalizePort(process.env.PORT || '3000');
app.set('port', port); app.set('port', port);
/** /**
* Create HTTP server. * Create HTTP server.
*/ */
const server = http.createServer(app); var server = http.createServer(app);
/** /**
* Listen on provided port, on all network interfaces. * Listen on provided port, on all network interfaces.
...@@ -60,12 +58,13 @@ function onError(error) { ...@@ -60,12 +58,13 @@ function onError(error) {
throw error; throw error;
} }
var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages // handle specific listen errors with friendly messages
switch (error.code) { switch (error.code) {
case 'EACCES': case 'EACCES':
/* eslint-disable no-console */
console.error(bind + ' requires elevated privileges'); console.error(bind + ' requires elevated privileges');
process.exit(1); process.exit(1);
break; break;
...@@ -84,7 +83,8 @@ function onError(error) { ...@@ -84,7 +83,8 @@ function onError(error) {
function onListening() { function onListening() {
var addr = server.address(); var addr = server.address();
var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; var bind = typeof addr === 'string'
console.log(`Listening on ${bind}`); ? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind); debug('Listening on ' + bind);
} }
{
"execMap": {
"js": "babel-node"
},
"watch": ["src/*", "public/*"],
"ext": "js, html, css, json"
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"name": "express-es6-sample", "name": "express-es6-sample",
"version": "0.0.0", "version": "0.2.0",
"private": true, "private": true,
"author": {
"name": "Jonathan Cunanan",
"url": "https://github.com/jcunanan05"
},
"license": "MIT",
"scripts": { "scripts": {
"start": "npm run prod", "start": "node ./bin/www"
"dev": "NODE_ENV=development npm run watch ./src/bin/www",
"prod": "npm run build && NODE_ENV=production node ./dist/bin/www",
"build": "npm run clean && babel ./src --config-file ./.babelrc --out-dir dist",
"clean": "rimraf dist",
"watch": "nodemon --config ./nodemon.json --"
}, },
"dependencies": { "dependencies": {
"bigint-hash": "^0.2.2", "cookie-parser": "~1.4.4",
"cookie-parser": "^1.4.4",
"debug": "~2.6.9", "debug": "~2.6.9",
"express": "~4.16.0", "express": "~4.16.1",
"morgan": "~1.9.0", "morgan": "~1.9.1"
"rimraf": "^2.6.3"
},
"devDependencies": {
"@babel/cli": "^7.4.4",
"@babel/core": "^7.4.4",
"@babel/node": "^7.2.2",
"@babel/preset-env": "^7.4.4",
"eslint": "^5.16.0",
"eslint-plugin-import": "^2.17.2",
"nodemon": "^1.19.0"
} }
} }
import express from 'express'; var express = require('express');
var router = express.Router(); var router = express.Router();
/* GET home page. */ /* GET home page. */
...@@ -6,4 +6,4 @@ router.get('/', function(req, res, next) { ...@@ -6,4 +6,4 @@ router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' }); res.render('index', { title: 'Express' });
}); });
export default router; module.exports = router;
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Hello</title>
</head>
<body>
<h1>Hello <%= title %></h1>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment