0

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

1 回答 1

1

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

你应该升级你的 Node 版本,特别是因为版本 4 不再被积极维护,这意味着只有关键的修复被应用,直到它到达生命的尽头(有关详细信息,请参阅LTS 时间表)。

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

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

另一种可能性是使用 Babel 转译不支持的功能,但这对于配置来说似乎有点笨拙。

于 2017-08-05T13:36:18.147 回答