JSX无法在NodeJS中工作

时间:2018-03-15 07:31:45

标签: node.js jsx

这是我的代码,我在我的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'));
    });

1 个答案:

答案 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>