为什么我在尝试运行Node.js / Express服务器时仍然遇到此错误?
这是新款ES7的一部分吗?使用这些新功能运行应用程序需要什么?
答案 0 :(得分:11)
根据Object静态方法下的http://kangax.github.io/compat-table/es2016plus/,您似乎需要启用和声标志
所以像这样运行节点
node --harmony script.js
答案 1 :(得分:7)
在mdn docs上,有一个关于Object.entries的明确教程,并描述了如果同一页面中的PolyFill部分不支持Object.entries,该怎么做。
要在原本不支持它的旧环境中添加兼容的Object.entries支持,您可以在tc39 / proposal-object-values-entries中找到Object.entries的演示实现(如果您不需要)任何对IE的支持),es-shims / Object.entries存储库中的polyfill,或者您可以使用下面列出的简单,准备部署的polyfill。
if (!Object.entries) Object.entries = function( obj ){ var ownProps = Object.keys( obj ), i = ownProps.length, resArray = new Array(i); // preallocate the Array while (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]]; return resArray; };
答案 2 :(得分:3)
您可以使用babel-polyfill
进行快速解决方案
npm install babel-polyfill
import 'babel-polyfill';
答案 3 :(得分:3)
首先安装react-app-polyfill
:npm install react-app-polyfill
然后在导入React之前先导入index.jsx的顶部:
import 'react-app-polyfill/stable';
答案 4 :(得分:2)
如果这有助于其他人......
更新您的Node版本。我正在运行节点6.x,此问题在我更新到节点8.x +
后自行解决答案 5 :(得分:0)
就我而言,当我从节点11.15.0
切换到lts/erbium
/ 12.18.3
时,它自行解决。
答案 6 :(得分:0)
代替
const myObj = {a: 1, b: 2}
myObj.entries()
做
Object.entries(myObj)