运行node.js时出现意外的令牌ILLEGAL

时间:2017-08-04 08:19:41

标签: javascript node.js token

我正在编写一门编程课程,我正在尝试运行命令node server.js。然而,这是我得到的结果。

node server.js

/home/lalitp/webapp/imad-app/server.js:26
console.log(`IMAD course app listening on port ${port}!`);
        ^
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:902:3

这是server.js文件:

var express = require('express');
var morgan = require('morgan');
var path = require('path');

var app = express();
app.use(morgan('combined'));

app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'index.html'));
});

app.get('/ui/style.css', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'style.css'));
});

app.get('/ui/madi.png', function (req, res) {
res.sendFile(path.join(__dirname, 'ui', 'madi.png'));
});


// Do not change port, otherwise your app won't run on IMAD servers
// Use 8080 only for local development if you already have apache running on 80

var port = 80;
app.listen(port, function () {
console.log(`IMAD course app listening on port ${port}!`);
});

感谢您的帮助:)

2 个答案:

答案 0 :(得分:3)

您可能正在使用旧版本的Node.js,它不支持所谓的反向引号字符串(由`字符包围)。

如果你改变了

console.log(`IMAD course app listening on port ${port}!`);

console.log('IMAD course app listening on port ' + port + '!');

它应该有用。

反向标记引用的字符串用于插值变量,即将JavaScript表达式集成到字符串中。这使得包含大量变量的长字符串比使用+运算符连接每个位更容易阅读。

答案 1 :(得分:0)

您似乎使用的是ES5而不是ES6,因此您无法使用`标记作为字符串:

console.log('IMAD course app listening on port ${port}!');