我使用的是节点6.10.3,同事告诉我该版本支持ES6的大部分功能,包括对象解构。我们的ESLint规则指定我必须使用解构。所以虽然这在我的程序中有效:
const Validator = require('jsonschema').Validator;
我必须将其更改为使用解构。所以现在我有:
const { Validator } = require('jsonschema');
会引发语法错误:
"Unexpected token {","errorType":"SyntaxError","stackTrace":
["Module._compile (module.js:373:25)","Object.Module._extensions..js
(module.js:416:10)","Module.load
(module.js:343:32)","Function.Module._load
(module.js:300:12)","Module.require (module.js:353:17)","require
(internal/module.js:12:17)"]
我真的不认为这是语法问题,而是ES6问题。我的同事是不正确的,节点6.10支持解构? 我对我的版本进行了三重检查,并使用NVM进行了安装。我的IDE,WebStorm也启用了ES6。
我尝试配置babel,但是我的同事说没有必要(我在安装babel-register npm软件包后也出错了所以我卸载了它。
那么如何解决这个问题并开始在我的代码中使用解构?
感谢您的帮助!