Nodejs, как развернуть проект typescript, который ссылается на несколько локальных проектов Heroku?

#node.js #typescript #heroku #deployment

Вопрос:

У меня есть проект машинописи nodejs с этим пакетом.json:

 {
"name": "construction-node-service",
"version": "1.0.0",
"description": "Fine Chat App Nodejs Service",
"main": "app.js",
"types": "./@types",
"scripts": {
  "test": "echo "Error: no test specified" amp;amp; exit 1",
  "debug": "nodemon --inspect  src/app.ts",
  "dev:debug": "nodemon --config nodemon.json --inspect-brk src/index.ts",
  "tsdebug": "ts-node-dev --respawn ",
  "tsdev": "nodemon --exec ts-node tt.ts",
  "compile": "tsc amp;amp; node dist/app.js",
  "dev": "nodemon -e ts  --exec npm run compile",
  "dev:server": "nodemon --watch ./**/*.ts --exec ts-node src/app.ts",
  "start": "node dist/app.js"
},
"engines": {
  "node": "12.22.1"
},
"author": "Ayman Shokry",
"license": "ISC",
"dependencies": {
  "@types/compression": "^1.7.0",
  "bson-objectid": "^2.0.1",
  "compression": "^1.7.4",
  "express": "^4.17.1",
  "generate-unique-id": "^2.0.1",
  "global-shared-node": "file:../../../public-api/NodeJs/global-shared-node",
  "public-dao-node": "file:../../../public-api/NodeJs/public-dao-node",
  "helmet": "^4.6.0",
  "moment": "^2.29.1",
  "mongoose": "^5.12.1",
  "multer": "^1.4.2",
  "mysql2": "^2.1.0",
  "reflect-metadata": "^0.1.13",
  "sequelize": "^6.6.2",
  "sequelize-typescript": "^2.1.0",
  "socket.io": "^2.3.0"
},
"devDependencies": {
  "@types/express": "^4.17.11",
  "@types/node": "^15.0.1",
  "@types/sequelize": "^4.28.9",
  "@types/validator": "^13.1.3",
  "babel-cli": "^6.26.0",
  "babel-preset-es2015": "^6.24.1",
  "pm2": "^4.5.0",
  "rimraf": "^3.0.2",
  "sequelize-cli": "^5.5.1",
  "ts-node": "^9.1.1",
  "ts-node-dev": "^1.1.6",
  "typescript": "^4.2.4"
}
}

 

Я подумал, смогу ли я скопировать 2 локальных файла src проекта в папку src проекта перед развертыванием, но я думаю, что это решение раздражает

как вы видите, я ссылался на 2 локальных проекта на своем жестком диске.вопрос в том, как я могу развернуть этот проект с 2 зависимостями проекта в Heroku. спасибо

Ответ №1:

Согласно вопросам и предложениям в Интернете, ответ-НЕТ.

По мнению многих сообществ и экспертов, модель Heroku заключается в запуске одного приложения на динамо (и часто многих динамо для одного приложения).

Но подождите, есть случай, когда два сервера развернуты на одном динамо, и это тоже сработало. Вы можете проверить это здесь: https://medium.com/@nadayar/heroku-fu-multiple-servers-on-one-dyno-6fc68d57b373

Надеюсь, это решит вашу проблему!