Node.js Express Server不能在不同的服务器上工作,但在我的机器上工作
问题描述:
当我在我的机器上运行我的node.js服务器时,它工作得很好。但是,当我从一个数字海洋中获得一台机器时,它会抛出这个错误。我使用飞行计划将我的文件移动到机器上。Node.js Express Server不能在不同的服务器上工作,但在我的机器上工作
[email protected]:~/node-app/bin$ node www
/home/deploy/node-app-1479873242669/routes/index.js:76
[newValue]: {
^
SyntaxError: Unexpected token [
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/deploy/node-app-1479873242669/app.js:36:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
这是有关错误代码:
if (isNaN(value)) {
newValue = 0;
console.log("queuer val " + newValue);
fbRef.update({
[newValue]: {
[UID]: ID
}
});
}
就像我说的,这工作完全正常我的机器上。谢谢!
答
更新节点到最新版本:
wget -qO- https://deb.nodesource.com/setup_6.x | sudo bash -
sudo apt-get -y install nodejs
后,应该工作。
答
使用计算密钥创建对象是ES2015 Standard(ES6)的一部分。见Object Initializer spec。
你的情况,香草JavaScript不支持此:
[newValue]: {
[UID]: ID
}
那么可能是你的node -v
将上面的东西v6.0.0
,但其他的服务器将是一个旧版本。 更新节点版本或使用带预设的babel-node
。
您的液滴可能安装了不支持ES6语法的旧版节点。你可以用'node -v'来检查。支持这种特定语法的第一个节点版本是node v4.0.0。 – mscdex