问题
I am trying to follow this tutorial to create a dummy project using gem react_on_rails
I guess I have followed every step of the tutorial but on the last step where we have to run the project a node js related error is popping up. I even updated my node version on the system, still facing the same issue
Error
foreman start -f Procfile.dev
22:30:58 web.1 | started with pid 5370
22:30:58 client.1 | started with pid 5371
22:30:59 client.1 | (in /home/projects/test-react-on-rails)
22:31:00 web.1 | => Booting Puma
22:31:00 web.1 | => Rails 5.1.2 application starting in development on http://localhost:3000
22:31:00 web.1 | => Run `rails server -h` for more startup options
22:31:00 web.1 | Puma starting in single mode...
22:31:00 web.1 | * Version 3.9.1 (ruby 2.4.0-p0), codename: Private Caller
22:31:00 web.1 | * Min threads: 5, max threads: 5
22:31:00 web.1 | * Environment: development
22:31:00 web.1 | * Listening on tcp://localhost:3000
22:31:00 web.1 | Use Ctrl-C to stop
22:31:01 client.1 | yarn run v0.27.5
22:31:01 client.1 | $ NODE_ENV=development webpack -w --config webpack.config.js
22:31:01 client.1 | /home/projects/test-react-on-rails/client/webpack.config.js:6
22:31:01 client.1 | const {resolve } = require('path');
22:31:01 client.1 | ^
22:31:01 client.1 |
22:31:01 client.1 | SyntaxError: Unexpected token {
22:31:01 client.1 | at exports.runInThisContext (vm.js:53:16)
22:31:01 client.1 | at Module._compile (module.js:373:25)
22:31:01 client.1 | at Object.Module._extensions..js (module.js:416:10)
22:31:01 client.1 | at Module.load (module.js:343:32)
22:31:01 client.1 | at Function.Module._load (module.js:300:12)
22:31:01 client.1 | at Module.require (module.js:353:17)
22:31:01 client.1 | at require (internal/module.js:12:17)
22:31:01 client.1 | at requireConfig (/home/shubhangi/projects/test-react-on-rails/client/node_modules/webpack/bin/convert-argv.js:96:18)
22:31:01 client.1 | at /home/projects/test-react-on-rails/client/node_modules/webpack/bin/convert-argv.js:109:17
22:31:01 client.1 | at Array.forEach (native)
22:31:01 client.1 | error Command failed with exit code 1.
22:31:01 client.1 | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
22:31:02 client.1 | exited with code 1
22:31:02 system | sending SIGTERM to all processes
22:31:02 web.1 | - Gracefully stopping, waiting for requests to finish
22:31:02 web.1 | === puma shutdown: 2017-07-27 22:31:02 +0530 ===
22:31:02 web.1 | - Goodbye!
22:31:02 web.1 | Exiting
22:31:02 web.1 | exited with code 0
回答1:
You're trying to use object destructuring, which was first supported in Node version 6, and is not available in Node 4.
You should upgrade your Node version, especially since version 4 is no longer actively maintained, which means that only critical fixes are applied, until it reaches the end of life (for details see LTS schedule).
If you still have to use Node 4, you cannot use object destructuring and have to change the line to:
const resolve = require('path').resolve;
Another possibility would be to transpile the unsupported features with Babel, but that seems a little heavy handed for a config.
来源:https://stackoverflow.com/questions/45357167/node-issue-in-creating-demo-project-using-react-on-rails-gem