#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
Надеюсь, это решит вашу проблему!