使用 Node.js 和 mysql table 实现 Jade

Implementing Jade with Node.js and mysql table

我正在尝试在我的 'users' table 上获取项目并使用 Jade 将它们格式化为 table 以显示我的网络应用程序。我不确定如何将信息从 'users' 发送到 Jade 以创建列表,我不确定使用 Jade 实现 table 所需的相应代码。以下是我目前在 Node.js 中的代码。任何建议表示赞赏!

var pub = __dirname;
var express = require('express');
var app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.use(app.router);
app.use(express.static(path.join(pub,'public')));


var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.use(express.static('static_files'));

var mysql = require('mysql');

var pool = mysql.createPool({
 host: 'localhost',
 port:'3306',
 user: 'root',
 password: '9696',
 database: 'users'
 });



app.get('/list', function(req, res){
pool.getConnection(function(err,con){
con.query('SELECT * FROM user set' , function(err, results){
if (err) {
  throw err;
}
res.render('username', {
  title: results[0].title,
  results: results
});
});
});
});

第 1 部分 - 如何将变量传递给 jade 处理器(你做对了):

  res.render('username', {
      title: results[0].title,
      results: results
  });

第2部分 - 如何使用jade页面中的变量:

首先,请记住您正在将单个变量对象传递给包含您将使用的所有变量的 jade 处理器。但是,属性是通过简单地调用它们来引用的(因此 title === results[0].title)。

Jade 有 2 种插入变量的格式,视情况而定:

  1. 正则方法:

      title  My Website | #{title} // #{nameOfPropertyOfPassedVariableObject}
    
  2. 在处理诸如 li a(href="/myusers/#{user.email}") 之类的引号时,您必须稍作不同:

      li a(href="/myusers/"+user.email) // +nameofpropertyofpassedvariableobject
    

    没有 #{} 但有 + 并且 变量必须在引号外 .

    这只是玉的奇特之处之一。

如果您还想了解循环和其他内容,请告诉我。此外,这里有 2 个优秀的玉石资源(我就是这样开始的):