如何将数据从nodejs传递到dirname文件夹中的html文件

nkhmeac6  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(100)

我试图做的是从数据库中获取数据并将其呈现为HTML页面,我有数据库中的数据,但我不知道如何将这些数据传递到HTML中。下面是我想用来传递数据的代码部分。

router.get('/',function(req,res){
    connection.connect((err) => {
        if (err) throw err;
        console.log('this is the home route');

    connection.query('SELECT * FROM products', (err,rows) => {
        if(err) throw err;
        // const {barcode,product_description,quantity,expiry_date,days} = req.body this is the data present in rows
      
        console.log('Data received from Db:');
        res.sendFile(path.join(__dirname+'/index.html'),rows);
        
        console.log(rows);
      });
      
})

字符串
});
这是根目录中的html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
  <h1>{{rows}}</h1>
</body>
</html>


我认为这样放置行会神奇地将我的数据放在那里。我将如何将我的数据插入到这个页面。

9jyewag0

9jyewag01#

这里的关键是它不是一个HTML文件。它是一个模板,您可以从中生成HTML文件。
Express支持template engines,它们的使用在Express指南中介绍。
选一个
您正在使用的语法看起来像mustache,但还有很多其他语法。
然后你可以找到plenty of guides to combining them
这可以归结为:
1.配置视图引擎
1.使用render代替sendFile

const mustacheExpress = require('mustache-express');

// ...

app.set('views', `${__dirname}/views`);
app.set('view engine', 'mustache');
app.engine('mustache', mustacheExpress());

// ...

router.get('/',function(req,res){
    // ...
    res.render("index", { rows} );
    // ...
});

字符串

相关问题