我正在ExpressJs应用程序中编写小的测试代码。代码如下:
var express = require('express');
var app = express();
var dataFile = require('./data/data.json');
app.set('port', process.env.PORT || 3000);
app.get('/', function(req, res) {
var info = '';
dataFile.speakers.forEach(function(item) {
info += `<li>
<h2>${item.name}</h2>
<p>${item.summary}</p>
</li>
`;
});
res.send(`
<h1>My Meetups</h1>
${info}
`);
});
var server = app.listen(app.get('port'), function() {
console.log('Listening on port ' + app.get('port'));
});
当我尝试执行命令时
节点app / app.js
在Git bash终端中,出现以下错误:
> E:\expressjs\app\app.js:11
> info += `<li>
> ^ SyntaxError: Unexpected token ILLEGAL
> 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:935:3
我试过了
检查的节点版本:使用节点0.10.37
尝试按照建议的--harmony选项运行node命令:相同错误
尝试访问ECMA兼容性表网站:无法搜索正确的信息
我正在使用Atom编辑器
我怀疑:Node和ECMA的版本不兼容
有人可以帮忙吗?
谢谢
最佳答案
试试这个网站。它显示了nodeJS中实现的所有es6功能
http://node.green/
我的怀疑是您使用的节点版本非常旧(几乎所有功能都在节点0.10中给出了错误)。
尝试升级到node6,一切都应该没问题。
希望这可以帮助。