SyntaxError: использование const в строгом режиме. в приложении React с API-интерфейсом Rails 5
Я следую этому руководству по подключению приложения React к Rails 5 API. Все прошло хорошо примерно на полпути с созданием Profile.dev
отчасти, точнее, создание граблей для локального управления разработкой и производством.
Procfile.dev
выглядит так
web: cd client && PORT=3000 npm start
api: PORT=3001 && bundle exec rails s
Следуя инструкциям, я добавил start.rake
в /lib/tasks
вот так:
namespace :start do
task :development do
exec 'foreman start -f Procfile.dev'
end
desc 'Start production server'
task :production do
exec 'NPM_CONFIG_PRODUCTION=true npm run postinstall && foreman start'
end
end
desc 'Start development server'
task :start => 'start:development'
Затем я добавил foreman
в мой gemfile в группе разработчиков и побежал bundle install
как указано.
group :development do
gem 'listen', '~> 3.0.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'foreman', '~> 0.82.0'
end
Затем учебник говорит, чтобы запустить
bin/rake start
Что приводит к этой ошибке.
12:49:57 web.1 | const spawn = require('react-dev-utils/crossSpawn');
12:49:57 web.1 | ^^^^^
12:49:57 web.1 | SyntaxError: Use of const in strict mode.
12:49:57 web.1 | at exports.runInThisContext (vm.js:73:16)
12:49:57 web.1 | at Module._compile (module.js:443:25)
12:49:57 web.1 | at Object.Module._extensions..js (module.js:478:10)
12:49:57 web.1 | at Module.load (module.js:355:32)
12:49:57 web.1 | at Function.Module._load (module.js:310:12)
12:49:57 web.1 | at Function.Module.runMain (module.js:501:10)
12:49:57 web.1 | at startup (node.js:129:16)
12:49:57 web.1 | at node.js:814:3
Я посмотрел вокруг, чтобы выяснить, в чем может быть проблема, но единственные предложения, которые я нашел до сих пор, - это обновить Node.js, который я уже пробовал (v4.x и позднее на момент публикации v8.2.1).
Ни одно из этих обновлений узла не решает проблему. Также, как ошибка указывает на cross-spawn
пакет, я думал, что можно будет изменить версию этого пакета в package.json
файл. Но Create-React-App, кажется, абстрагирует установленные пакеты таким образом, что делает эту задачу менее простой.
Любая помощь в преодолении этой ошибки очень ценится!