Невозможно проанализировать package.json

Я пытаюсь загрузить проект 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"
}

Возможно, вам потребуется указать конкретную версию двигателя. Попробовать, скажем, {"node": "10.8.0"}?

AKX 05.08.2018 13:23

нет, это не имеет значения. Такая же ошибка даже с .x в конце. Все должно работать так ...

Jonas Re 05.08.2018 13:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
902
3

Ответы 3

Это из официальных документов npm. Похоже, вам нужен диапазон для версии, а не только нижний предел. Или примерный вариант. Однако, судя по моему опыту работы с Heroku, я никогда не нуждался в этом, похоже, heroku, вероятно, будет использовать версию узла намного выше. Также, если вам нужна конкретная версия, есть такая вещь, которая называется engineStrict, которую вы можете посмотреть в официальных документах npm.

Хорошо, даже когда я пытаюсь изменить номер версии на конкретный или диапазон, он дает мне тот же erorr ... Функция EngineStrict больше не доступна с версии 3.0.0

Jonas Re 05.08.2018 13:39

Вы пробовали его удалить? Может быть, у героку нет "движков" в package.json .. Может, его вообще не существует? Каждый проект nodejs, который я загрузил на heroku, работал нормально. Однако я в основном использую самые последние версии node, а не те, которым ~ 5 лет!

mortuie 05.08.2018 13:42

для этого есть линтеры, например. Пакет 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, который будет работать внутри браузера ...

Martin Zeitler 05.08.2018 13:40

Другие вопросы по теме