【问题标题】:Implementing Jade with Node.js and mysql table使用 Node.js 和 mysql 表实现 Jade
【发布时间】:2015-11-28 03:40:34
【问题描述】:

我正在尝试在我的“用户”表中获取项目,并使用 Jade 将它们格式化为表以显示给我的网络应用程序。我不确定如何将信息从“用户”发送到 Jade 以创建列表,并且我不确定使用 Jade 实现表所需的相应代码。以下是迄今为止我在 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
});
});
});
});

【问题讨论】:

    标签: javascript mysql node.js pug


    【解决方案1】:

    第 1 部分 - 如何将变量传递给翡翠处理器(您做得正确):

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

    第二部分——翡翠页面中的变量如何使用:

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

    Jade 根据情况有两种插入变量的格式:

    1. 常规方法:

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

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

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

      这只是翡翠的一个时髦之处。

    如果您还想了解循环和其他内容,请告诉我。另外,这里有 2 个极好的翡翠资源(这些是我开始的方式):

    【讨论】:

    • 如果我回答了您的问题,请接受并将答案标记为正确。如果没有,请告诉我什么不起作用。
    猜你喜欢
    • 2012-08-07
    • 2019-09-22
    • 2013-12-18
    • 1970-01-01
    • 2016-12-05
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多