首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能使用ts-node-dev启动ts+express+node项目。

我不能使用ts-node-dev启动ts+express+node项目。
EN

Stack Overflow用户
提问于 2021-09-08 09:00:18
回答 2查看 1.7K关注 0票数 1

当我运行npm run dev时,我无法在chrome中打开"http://localhost:3000“。

执行任务:

代码语言:javascript
复制
> npm run dev 

node-framework-kit@1.0.0 dev /Users/xiaoqi/node-workplace/node-framework-kit  
ts-node-dev --respawn --transpile-only ./src/app.ts

[INFO] 16:44:02 ts-node-dev ver. 1.1.8 (using ts-node ver. 9.1.1, typescript ver. 4.4.2)

这是我的server.ts

代码语言:javascript
复制
import app from './app'
const PORT=3001;

app.listen(PORT,()=>{
    console.log(`Express server listening on port ${PORT}`);
})

这是我的app.ts

代码语言:javascript
复制
import express from 'express' 
import {json,urlencoded} from 'body-parser'
import cors from 'cors'
import morgan from 'morgan'

class App{
    public app:express.Application;
    constructor(){
        this.app=express();
        this.config();
        this.app.get('/',(req,res)=>{
            res.send({message:'hello express!!!!!'})
        })
    }
    private config(){
        this.app.use(cors())
        this.app.use(json());
        this.app.use(urlencoded({extended:false}))
        this.app.use(morgan('dev'))
    }

}
export default new App().app

这是我的package.json

代码语言:javascript
复制
{
  "name": "node-framework-kit",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "tsc",
    "dev": "ts-node-dev --respawn --transpile-only ./src/app.ts",
    "restart": "rimraf dist && npm run build && npm start",
    "start":"node ./dist/server.js",
    "prod":"npm run build && npm run start"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@types/cors": "^2.8.12",
    "@types/express": "^4.17.13",
    "@types/node": "^16.7.13",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "mongoose": "^6.0.5"
  },
  "devDependencies": {
    "@types/morgan": "^1.9.3",
    "morgan": "^1.10.0",
    "rimraf": "^3.0.2",
    "ts-node-dev": "^1.1.8",
    "typescript": "^4.4.2"
  }
}

这是我的tsconfig.json

代码语言:javascript
复制
{
  "compilerOptions": {
    "target": "es2018",
    "module": "commonjs",
    "sourceMap": true,
    "outDir": "./dist",
    "removeComments": true,
    /* Strict Type-Checking Options */
    "strict": true,
    "noImplicitAny": false,
    "strictNullChecks": true,
    "alwaysStrict": true,
    /* Module Resolution Options */
    "moduleResolution": "node",
    "baseUrl": "./src",
    "allowSyntheticDefaultImports": true, 
    "esModuleInterop": true,  
  },
  "include": [
    "./src/**/*"
  ]
}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-08 09:22:29

完事了!只需将package.json中的脚本更改为“ts-节点-dev--只允许transpile ./src/app.ts”是错误的,需要将其更改为“ts-节点-dev-respawn transpile只读./src/server.ts”。

票数 -1
EN

Stack Overflow用户

发布于 2022-08-28 18:44:46

我有同样的问题,我在网上找不到任何答案,我会回答我的解决方案,希望它可能会对未来的人有所帮助。

运行此命令npm i pg@8.2.1,然后重试npm run dev

这个问题是由反对pg引起的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69100040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档