feat(server): made server "work"

This commit is contained in:
Roberto Tonino 2021-03-31 21:32:08 +02:00
parent fe0439fd19
commit bc773460c1
8 changed files with 100 additions and 71 deletions

34
server/dist/app.js vendored
View File

@ -1,34 +0,0 @@
'use strict'
// import path from 'path'
//
// import express, { Application } from 'express'
// import cookieParser from 'cookie-parser'
// import logger from 'morgan'
// import indexRouter from './routes'
// import usersRouter from './routes/users'
//
// const app: Application = express()
// // const port = 3000
//
// app.use(logger('dev'))
// app.use(express.json())
// app.use(express.urlencoded({ extended: false }))
// app.use(cookieParser())
// app.use(express.static(path.join(__dirname, 'webui', 'public')))
//
// app.use('/', indexRouter)
// app.use('/users', usersRouter)
//
// export default app
const __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { default: mod }
}
Object.defineProperty(exports, '__esModule', { value: true })
const express_1 = __importDefault(require('express'))
// rest of the code remains same
const app = express_1.default()
const PORT = 8000
app.get('/', (req, res) => res.send('Express + TypeScript Server'))
app.listen(PORT, () => {
console.log(`⚡️[server]: Server is running at https://localhost:${PORT}`)
})

View File

@ -1,12 +0,0 @@
'use strict'
const __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { default: mod }
}
Object.defineProperty(exports, '__esModule', { value: true })
const express_1 = __importDefault(require('express'))
const router = express_1.default.Router()
/* GET home page. */
router.get('/', (req, res, next) => {
res.render('index', { title: 'Express' })
})
exports.default = router

View File

@ -1,12 +0,0 @@
'use strict'
const __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { default: mod }
}
Object.defineProperty(exports, '__esModule', { value: true })
const express_1 = __importDefault(require('express'))
const router = express_1.default.Router()
/* GET users listing. */
router.get('/', function (req, res, next) {
res.send('respond with a resource')
})
exports.default = router

View File

@ -2,12 +2,11 @@
"name": "deemix-gui",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"start-old": "node bin/www",
"start": "nodemon src/app.ts",
"lint": "eslint . --fix",
"prebuild" : "yarn lint",
"prebuild": "yarn lint",
"build": "tsc"
},
"dependencies": {
@ -19,6 +18,7 @@
"devDependencies": {
"@nuxtjs/eslint-config": "6.0.0",
"@types/cookie-parser": "1.4.2",
"@types/debug": "4.1.5",
"@types/express": "4.17.11",
"@types/morgan": "1.9.2",
"@types/node": "14.14.37",

View File

@ -1,27 +1,109 @@
import path from 'path'
import http from 'http'
import express, { Application } from 'express'
import cookieParser from 'cookie-parser'
import logger from 'morgan'
import debug0 from 'debug'
import indexRouter from './routes'
import usersRouter from './routes/users'
const ROOT_DIR = path.resolve('../')
const app: Application = express()
const port = 6595
app.use(logger('dev'))
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.use(cookieParser())
app.use(express.static(path.join(__dirname, 'webui', 'public')))
app.use(express.static(path.join(ROOT_DIR, 'webui', 'public')))
app.use('/', indexRouter)
app.use('/users', usersRouter)
try {
app.listen(port, (): void => {
console.log(`Connected successfully on port ${port}`)
})
} catch (error) {
console.error(`Error occured: ${error.message}`)
/**
* Module dependencies.
*/
const debug = debug0('deemix-gui:server')
/**
* Get port from environment and store in Express.
*/
const port = normalizePort(process.env.PORT || '3000')
app.set('port', port)
/**
* Create HTTP server.
*/
const server = http.createServer(app)
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port)
server.on('error', onError)
server.on('listening', onListening)
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort (val:string) {
const port = parseInt(val, 10)
if (isNaN(port)) {
// named pipe
return val
}
if (port >= 0) {
// port number
return port
}
return false
}
/**
* Event listener for HTTP server "error" event.
*/
function onError (error: any) {
if (error.syscall !== 'listen') {
throw error
}
const bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges')
process.exit(1)
case 'EADDRINUSE':
console.error(bind + ' is already in use')
process.exit(1)
default:
throw error
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening () {
const addr = server.address()
if (addr) {
const bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port
debug('Listening on ' + bind)
}
}

View File

@ -3,7 +3,7 @@ import express from 'express'
const router = express.Router()
/* GET home page. */
router.get('/', (req, res, next) => {
router.get('/', (_, res) => {
res.render('index', { title: 'Express' })
})

View File

@ -294,6 +294,11 @@
dependencies:
"@types/express" "*"
"@types/debug@4.1.5":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
"@types/express-serve-static-core@^4.17.18":
version "4.17.19"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d"

2
webui

@ -1 +1 @@
Subproject commit 55125684cbaf4c4ac62d63e9713ceb69e2fceb86
Subproject commit 39a178cfc7d67387c63323038a8533d6d84b0cc1