i am creating api. using the microservices and managing the services with pm2 but when i start the server i am getting the error
➜ ecommercbackend git:(main) ✗ npm start
> Ecommerce [email protected] start
> ts-node -T -P tsconfig.json app.ts
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /Volumes/DATA-2/nodejs/microservices-node/ecommercbackend/app.ts
at new NodeError (node:internal/errors:405:5)
at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:136:11)
at defaultGetFormat (node:internal/modules/esm/get_format:182:36)
at defaultLoad (node:internal/modules/esm/load:101:20)
at ModuleLoader.load (node:internal/modules/esm/loader:417:13)
at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:288:22)
at new ModuleJob (node:internal/modules/esm/module_job:63:26)
at ModuleLoader.#createModuleJob (node:internal/modules/esm/loader:312:17)
at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:265:34)
at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:251:17) {
code: 'ERR_UNKNOWN_FILE_EXTENSION'
}
I want to solve this problem and want to build my backend with the microservice and typescript
here is my tsconfig.json
{"compilerOptions": {
"target": "es5",
"module": "commonjs",
"lib": ["es2015", "dom"],
"sourceMap": true,
"outDir": "./build",
"strict": true,
"strictPropertyInitialization": false,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"types": ["reflect-metadata"],
"esModuleInterop": true,
"inlineSources": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"skipLibCheck": true
}}
and here is my
{ "name": "Ecommerce Backend", "version": "1.0.0", "type": "module", "main": "app.ts", "scripts": { "start": "ts-node -T -P tsconfig.json app.ts" }, "author": "lalit patidar", "license": "ISC", "description": "", "dependencies": { "bcrypt": "^5.1.1", "body-parser": "^1.20.2", "chalk": "^5.3.0", "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.19.2", "jsonwebtoken": "^9.0.2", "mailtrap": "^3.3.0", "mongodb": "^6.7.0", "mongoose": "^8.4.4", "multer": "^1.4.5-lts.1", "nodemailer": "^6.9.14", "nodemon": "^3.1.4", "validator": "^13.12.0" }, "devDependencies": { "@types/bcrypt": "^5.0.2", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/jsonwebtoken": "^9.0.6", "@types/mongoose": "^5.11.97", "@types/multer": "^1.4.11", "@types/node": "^20.14.14", "@types/validator": "^13.12.0", "ts-node": "^10.9.2", "typescript": "^5.5.4" } }
please give me some solution