我在for循环中使用let关键字给SyntaxError:意外的标识符

如下所示,我在for循环中使用let关键字

for(let methd1 in servUrl){ let methd=methd1; for(let pth1 in servUrl[methd]) { let pth=pth1; app[methd](pth, servUrl[methd][pth]); } } 

这给我下面的错误

 for(let methd1 in servUrl){ ^^^^^^ SyntaxError: Unexpected identifier 

如果您使用的是受支持的节点版本,请确认。

要知道节点版本,您可以运行以下命令:

 $ node --version v4.2.1 

节点的旧版本不支持let语法或EcmaScript6所有function。

我也遇到类似的问题,并升级我的节点到最新解决了我的问题。

要升级节点,您可以运行以下操作:

 $ sudo npm cache clean -f $ sudo npm install -gn $ sudo n stable 

您可能还需要使用更新后的二进制文件来连接您的节点二进制文件。 这对我工作:

 sudo ln -sf /usr/local/n/versions/node/5.0.0/bin/node /usr/bin/node 

我在其他作用域中使用了let关键字,但得到相同的语法错误信息。

问题是我使用旧版本的Chrome(38),我更新到版本54,现在它工作。 旧版本无法识别“let”关键字。