小编典典

使用react_on_rails gem创建演示项目时出现节点问题

reactjs

我正在尝试按照本教程使用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

阅读 269

收藏
2020-07-22

共1个答案

小编典典

您正在尝试使用对象解构,它在节点版本6中首先受支持,而在节点4中不可用。

您应该升级您的Node版本,尤其是因为不再主动维护版本4,这意味着仅应用了 关键的
修复程序,直到其生命周期终止为止(有关详细信息,请参阅LTS计划)。

如果仍然必须使用节点4,则不能使用对象分解,而必须将行更改为:

const resolve = require('path').resolve;

另一种可能性是使用Babel移植不支持的功能,但这对于配置来说似乎有点繁重。

2020-07-22