Как я могу проверить, будет ли мой код работать в новой (или старой) версии Node?

У меня есть код, работающий в Node 9.8 Срок службы узла 9 скоро истечет.

Если я переключусь на узел 10, как я могу проверить, будет ли мой код работать на узле 10, не выполняя все пути кода?

Или, если я опущусь до 8.11, как я могу проверить, будет ли мой код работать в узле 8.11?

В коде нет тестовых примеров.

Вы пробовали запускать тесты приложения (если таковые имеются) на Node10? Может быть, читаете список критических изменений? Я думаю, сложно сказать, так как в большинстве случаев вы будете использовать множество внешних библиотек. Насколько я знаю, тут поможет только хорошая батарея тестов?

Magd Kudama 24.04.2018 21:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
354
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это хороший пример того, почему надежные модульные / интеграционные тесты имеют решающее значение для долгосрочной ремонтопригодности. Тем не менее, есть несколько шагов, которые вы можете предпринять, чтобы снизить риск поломки:

  • Взгляните на журнал изменений, относящийся к версиям, на которые вы переезжаете. Команда NodeJS любезно включает раздел Заметные изменения в каждый журнал изменений, хотя я бы не стал полагаться только на него, поскольку он на 100% включает потенциально критические изменения, с которыми вы можете столкнуться.
  • Рассмотрите возможность написания модульных / интеграционных тестов, как часть вашей уверенности в том, что что-то не сломается из-за этого изменения версии, а также что что-то не сломается из-за изменений более поздних версий (или повседневных изменений в этом отношении).
  • Как бы я ни ненавидел это говорить, поиск в Google руководств по обновлению (или понижению?) Версий NodeJS может помочь вам определить потенциальные опасные зоны.

Как правило, я считаю более безопасным и лучшим вариантом обновить версию, чем переход на более раннюю. Во-первых, вы продвигаетесь к более новому и большему опыту, с которым команда NodeJS хочет, чтобы вы работали, а во-вторых, будущие версии, вероятно, будут иметь обратную совместимость, тогда как в старой версии могут отсутствовать функции, которые вы используете.

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