An Interest In:
Web News this Week
- April 2, 2024
- April 1, 2024
- March 31, 2024
- March 30, 2024
- March 29, 2024
- March 28, 2024
- March 27, 2024
June 27, 2022 05:11 pm GMT
Original Link: https://dev.to/nyctonio/how-to-make-a-typescript-nodejs-express-project-with-eslint-ejs-and-nodemon-hot-reload-4e0b
How To Make A Typescript NodeJS Express Project with eslint, EJS and nodemon hot reload
Start with a clean project
pnpm init -yornpm init -y
Install some dependencies
pnpm add -save-dev eslint @types/express typescriptpnpm add --save express ejs or npm install -save-dev eslint @types/express typescriptnpm install --save express ejs
make a new folder for your project
mkdir srctouch src/app.ts
src/app.ts
import express from 'express';const app = express();const port = 3000;app.use(express.json());app.use(express.static("public"));app.set("view engine", "ejs");app.get('/', (req, res) => { res.send('Hello World!');});app.listen(port, () => { return console.log(`http://localhost:${port}`);});
create a new folder for your public folder
create a new folder of views
Create tsconfig.json
{ "compilerOptions": { "module": "commonjs", "esModuleInterop": true, "target": "es6", "moduleResolution": "node", "sourceMap": true, "outDir": "dist" }, "lib": [ "es2015" ]}
Now we will run eslints initialization command to interactively set up the project:
pnpx eslint --initornpx eslint --init
Now You have to answer some questions to finish the initialization process:
- How would you like to use ESLint?: To check syntax and find problems
- What type of modules does your project use?: JavaScript modules (import/export)
- Which framework does your project use?: None of these
- Does your project use TypeScript?: Yes
- Where does your code run?: Node
- What format do you want your config file to be in?: JavaScript
Finally, you will be prompted to install some additioanl eslint libraries. Choose Yes. The process will finish and youll be left with the following configuration file:
Now we will configure nodemon for hot reloading
pnpm add -g ts-nodeornpm add -g ts-node
Now we will create nodemon.json
{ "ext": "ts,js", "ignore": [ "node_modules", "dist" ], "watch": [ "src" ], "exec": "ts-node src/app.ts"}
Lets Change our package.json and add some lines
add main
"main": "dist/app.js",
add lint and start in scripts
"lint": "eslint . --ext .ts","start": "tsc && nodemon dist/app.js"
Finally It should look like this
{ "name": "xss", "version": "1.0.0", "description": "", "main": "dist/app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "lint": "eslint . --ext .ts", "start": "tsc && nodemon dist/app.js" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@types/express": "^4.17.13", "@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/parser": "^5.29.0", "eslint": "^8.18.0", "typescript": "^4.7.4" }, "dependencies": { "cors": "^2.8.5", "ejs": "^3.1.8", "express": "^4.18.1" }}
Now start the project with pnpm or npm
pnpm startornpm start
Hurray you have a new project!
Connect me on Twitter :- Twitter
Do check out my Github for amazing projects:- Github
Connect me on LinkedIn :- Linkedin
Read my another article :-
Parallax In Next.js using React-Scroll-Parallax
Original Link: https://dev.to/nyctonio/how-to-make-a-typescript-nodejs-express-project-with-eslint-ejs-and-nodemon-hot-reload-4e0b
Share this article:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To