这是我的代码,我在我的get函数中面临问题,我在forEach循环中编写代码,它给出了引用错误(Unterminated String Literal)。
var express = require('express');
var app = express();
var dataFile = require('./data/friend.json');
app.set('port', process.env.PORT || 5000);
app.get("/" , function(req , res ){
var data = '';
dataFile.friends.forEach(function(item){
data +='
<div>
<li>
<h1>${item.name}</h1>
<h2>${item.Class}</h2>
</li>
</div>';
});
res.send("Welcome");
});
app.listen(app.get('port') , function (err){
console.log("Server is running at "+ app.get('port'));
});
答案 0 :(得分:0)
如果没有连接或&#34;转义&#34;您不能在JavaScript字符串中使用换行符。它们,除非使用模板文字(使用反向标记)。
有三种方法可以做到这一点。
级联:
dataFile.friends.forEach(function(item){
data +='<div>'+
'<li>' +
'<h1>${item.name}</h1>' +
'<h2>${item.Class}</h2>' +
'</li>' +
'</div>';
});
逃离换行符:
dataFile.friends.forEach(function(item){
data +='<div>\
<li>\
<h1>${item.name}</h1>\
<h2>${item.Class}</h2>\
</li>\
</div>';
});
模板文字:
dataFile.friends.forEach(function(item){
data +=`<div>
<li>
<h1>${item.name}</h1>
<h2>${item.Class}</h2>
</li>
</div>`;
});
参考:SyntaxError: unterminated string literal
**同样重要的是要注意,创建一串元素可能而不是将它们实例化到DOM正确。这将导致JavaScript无法与这些元素进行交互。 DigitalOcean有tutorial on this。
或者,您可以使用上面提到的模板文字,并在上面的参考链接中提供,这将实例化 DOM内的元素。< / p>