我正在编写一门编程课程,我正在尝试运行命令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}!`);
});
感谢您的帮助:)
答案 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}!');