服务器上无法识别Socket.io语法

时间:2018-07-13 13:14:49

标签: node.js ubuntu npm server socket.io

即使安装了所有软件包,节点服务器也无法理解socket.io语法。

当我使用nodejs server.js在本地运行服务器时,它可以正常工作。但是,当我尝试在我的Ubuntu服务器上运行它时,似乎无法理解这一行:

socket.on( 'client-data', ( serverpackage ) => {
                                            ^
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 Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

Ubuntu服务器上的目录为user/server,其中包含我的所有服务器模块。 Socket.io已安装,我什至还检查了socket.io的所有依赖项。

NodeJS-Socket-server-with-DB@1.0.0 /home/<user>/server
└── socket.io@2.1.1

我也在运行此版本的nodejs:

<user>@host*****:~/server$ nodejs -v
v0.10.25

2 个答案:

答案 0 :(得分:2)

您不能使用箭头功能。您至少需要节点的版本4,但是版本6提供了与箭头功能的完全兼容性。

要解决您的问题,只需更新节点或更改为常规功能,例如:

socket.on( 'client-data', function (serverpackage) {

答案 1 :(得分:1)

您的nodejs版本不了解箭头功能,请检查更新是否要使用。

如果没有,请将箭头功能更改为普通功能。

选中Node.js ES2015 Support