如何配置package.json命令,使用nodemon启动Express TypeScript服务器?
正确配置方案
方式一:直接在package.json中定义启动命令
修改package.json里的start:nodemon脚本,直接通过nodemon指定启动逻辑,无需额外依赖nodemon.json:
{ "scripts": { "start": "ts-node ./src/server.ts", "start:nodemon": "nodemon --watch src --ext ts --exec 'ts-node ./src/server.ts'", "start:prod": "npm run build && node ./dist/src/server.js", "build": "npx tsc" } }
执行npm run start:nodemon即可启动带热重载的服务。
方式二:配合nodemon.json配置
若想保留nodemon.json的配置,只需修改package.json的start:nodemon脚本,直接调用nodemon(npm会自动识别本地依赖的可执行文件,无需写完整路径):
{ "scripts": { "start": "ts-node ./src/server.ts", "start:nodemon": "nodemon", "start:prod": "npm run build && node ./dist/src/server.js", "build": "npx tsc" } }
你的nodemon.json配置可以保持不变,此时nodemon会按照配置监听src目录下的.ts文件变化,自动通过npm start重启服务。
原配置报错原因
原脚本中直接写./node_modules/nodemon/bin/nodemon.js存在路径解析或权限问题,npm脚本中直接使用依赖包名(如nodemon)是更可靠的方式,npm会自动从本地node_modules/.bin目录查找对应可执行文件。
内容的提问来源于stack exchange,提问作者newstacker
相关产品推荐
相关产品推荐

