ReactJS — Обслуживание: SyntaxError: Неожиданный токен {

Впервые пытаюсь запустить проект ReactJS в производстве. Возможно, я просто пропустил какую-нибудь глупость.

На моем сервере npm start работает отлично. Теперь я хочу запустить его в производственном режиме, поэтому я сделал:

npm install -g serve
npm run build # correctly creates /build folder
serve -s build

Теперь я получаю:

/usr/local/lib/node_modules/serve/build/main.js:4
import { cwd as getPwd, exit, env as env2, stdout } from "node:process";
       ^

SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

Что я пропустил?

Что я уже пробовал:

  • Мой сервер nodeJS работает на порту 3001, поэтому я также попытался запустить serve -s build -l 3001, но это привело к тому же сообщению об ошибке.

  • Кто-то сказал не устанавливать службу по всему миру, а вместо этого запускать npm -S serve - не работает

  • npx serve {...} тоже не работает (печатает просто Unexpected token {)

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
93
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вы используете очень старую версию Node, которая не поддерживает функции, необходимые serve.

Текущая версия serve (14) в своей документации гласит следующее:

serve Для запуска версии 14 и более поздних версий требуется Node v14. Пожалуйста, используйте serve v13, если вы не можете обновиться до Node v14.

Вам необходимо перейти на более новую версию Node, желательно текущую версию долгосрочной поддержки, то есть Node 20 на момент написания статьи.

Если это невозможно, попробуйте запустить более раннюю версию serve, например. версия 13:

npx serve@13 -s build

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