我正在尝试按照本教程使用gem react_on_rails创建一个虚拟项目
我想我已经按照本教程的每个步骤进行了操作,但是在最后一个必须运行项目的步骤中,弹出了与节点js相关的错误。我什至在系统上更新了节点版本,仍然面临相同的问题
错误
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
您正在尝试使用对象解构,它在节点版本6中首先受支持,而在节点4中不可用。
您应该升级您的Node版本,尤其是因为不再主动维护版本4,这意味着仅应用了 关键的 修复程序,直到其生命周期终止为止(有关详细信息,请参阅LTS计划)。
如果仍然必须使用节点4,则不能使用对象分解,而必须将行更改为:
const resolve = require('path').resolve;
另一种可能性是使用Babel移植不支持的功能,但这对于配置来说似乎有点繁重。