nodejs express typescript code example
Example 1: express typescript tsconfig
// it can vary a lot, but this is a beggining
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./dist",
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"esModuleInterop": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.test.ts"]
}
Example 2: express ts
import express = require('express');
// Create a new express application instance
const app: express.Application = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
Example 3: express typescript
try this config for nodejs + typescript using babel
https://pastebin.com/TR4BXPqL
Example 4: expressjs typescript test
import { expect } from "chai"
import chai from "chai"
import chaiHttp from "chai-http"
chai.use(chaiHttp);
import express from "express"
import { createHttpTerminator, HttpTerminatorConfig } from "http-terminator"
const testServer: express.Application = express()
let serverRef, httpTerminator: any
describe('Test Description', () => {
before(() => {
testServer.get('/toto', (req, res) => {
res.send('Hello World')
})
testServer.get('/tata', (req, res) => {
res.send('Hello tata')
})
serverRef = testServer.listen(3000, function () {
// console.log('App is listening on port 3000!');
});
httpTerminator = createHttpTerminator({ server: serverRef });
})
after(async () => {
await httpTerminator.terminate();
})
it('test toto', (done) => {
chai.request('http://localhost:3000')
.get('/toto')
.end(function(err, res) {
expect(res).to.have.status(200);
expect(res.text).to.eq('Hello World');
done();
});
})
it('test tata', (done) => {
chai.request('http://localhost:3000')
.get('/tata')
.end(function(err, res) {
expect(res).to.have.status(200);
expect(res.text).to.eq('Hello tata');
done();
});
})
})