#node.js #heroku
#node.js #героку
Вопрос:
Поэтому я просто пытаюсь развернуть свой сервер узлов в облаке Heroku. Он выходит из строя из-за проблемы с не поддерживаемыми модулями ES. Конкретная ошибка, которую я получаю, заключается в следующем
Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/app/src/routes' is not supported resolving ES modules imported from /app/src/server.js
Я пытаюсь импортировать свой каталог маршрутов. Я прочитал решения в стеке, связанные с этой проблемой, и ни одно из них не работает для меня. Например, включение «типа»:»модуль» в мой пакет.json НЕ работает.
Что происходит? Он отлично работает локально, используя скрипт «npm run dev». Железный человек
пакет.json
{ "name": "back-end", "type": "module", "version": "1.0.0", "description": "", "engines": { "node": "14.x" }, "main": "index.js", "scripts": { "dev": "nodemon --exec babel-node -r dotenv/config ./src/server.js", "test": "echo "Error: no test specified" amp;amp; exit 1", "start": "node -r dotenv/config ./src/server.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "@babel/core": "7.13.10", "@babel/node": "7.13.12", "@babel/preset-env": "7.13.12", "@sendgrid/mail": "^7.6.0", "axios": "^0.24.0", "bcrypt": "^5.0.1", "dotenv": "^10.0.0", "esm": "^3.2.25", "express": "4.17.1", "googleapis": "^92.0.0", "jsonwebtoken": "^8.5.1", "mongodb": "3.6.5", "uuid": "^8.3.2" }, "devDependencies": { "nodemon": "2.0.7" } }
Ответ №1:
Ответ, решение, заключалось в том, чтобы потребовать пакет esm при запуске:
"start": "node -r esm -r dotenv/config ./src/server.js"