Я пытаюсь загрузить проект javascript nodejs в Heroku. Localhost работает отлично, но когда я пытаюсь загрузить его, я не могу проанализировать ошибку по адресу:
...
"engines" : { "node" : ">0.11.9" },
...
Сообщение об ошибке: недопустимый числовой литерал в строке 12, столбце 0
Полный файл JSON:
{
"name": "browsergameprojecz",
"version": "1.0.0",
"description": "",
"main": "app.js",
"dependencies": {
"express": "^4.16.3",
"mongojs": "^2.6.0",
"socket.io": "^2.1.1"
},
"engines" : { "node" : ">0.11.9" },
"devDependencies": {},
"scripts": {
"start": "node app.js"
},
"author": "",
"license": "ISC"
}
нет, это не имеет значения. Такая же ошибка даже с .x в конце. Все должно работать так ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это из официальных документов npm. Похоже, вам нужен диапазон для версии, а не только нижний предел. Или примерный вариант. Однако, судя по моему опыту работы с Heroku, я никогда не нуждался в этом, похоже, heroku, вероятно, будет использовать версию узла намного выше. Также, если вам нужна конкретная версия, есть такая вещь, которая называется engineStrict, которую вы можете посмотреть в официальных документах npm.
Хорошо, даже когда я пытаюсь изменить номер версии на конкретный или диапазон, он дает мне тот же erorr ... Функция EngineStrict больше не доступна с версии 3.0.0
Вы пробовали его удалить? Может быть, у героку нет "движков" в package.json .. Может, его вообще не существует? Каждый проект nodejs, который я загрузил на heroku, работал нормально. Однако я в основном использую самые последние версии node, а не те, которым ~ 5 лет!
для этого есть линтеры, например. Пакет JSON Validator
... что позволяет проверять достоверность таких файлов JSON.
к тому же Узел 0.11.9 примерно 5 лет и помечен как unstable
... подумайте об обновлении, пока это возможно в сочетании с остальным.
в этом файле может быть конец строки Windows ... как это часто бывает, когда «все выглядит нормально», но все равно не работает. dos2unix можно использовать для их исправления.
https://techblog.dorogin.com/writing-cross-platform-npm-scripts-on-windows-79c510339ea6 намекает на то, что когда файлы имеют UTF-8 BOM0x EF BB BF в начале, это также делает невозможным их анализ. если не проверить это с помощью шестнадцатеричного редактора, никто не может знать. простое создание нового package.json с кодировкой UTF-8 и окончанием строки UNIX \n должно решить проблему.
Когда данные загружаются на клиент со стороны сервера в формате JSON, некоторые специальные символы не могут отображаться напрямую, когда JS отображается на странице HTML. Поскольку фон проходит через <b>msg</b>, он отображается на HTML-странице msg с помощью JS, а не msg. Это связано с содержимым между < и > в формате HTML. Пометить и начать с HTML в качестве объекта, поэтому отображение не будет нормальным.
Решение простое, и его можно отобразить до того, как JS отобразится на HTML-страницах.
мы не говорим о клиентском JavaScript, который будет работать внутри браузера ...
Возможно, вам потребуется указать конкретную версию двигателя. Попробовать, скажем,
{"node": "10.8.0"}?