小编ano*_*fox的帖子

如何正确地将mysql连接传递给express.js的路由

我试图找出在我的express.js路由之间传递mysql连接(使用node-mysql)的最佳方法.我正在动态添加每个路由(在路由中使用for each文件循环),这意味着我不能只将连接传递给需要它的路由.我要么将它传递给每条路线,要么根本不传递.我不喜欢将它传递给那些不需要它的想法所以我创建了一个dbConnection.js,路由可以根据需要单独导入.问题是我不认为我正确地做到了.截至目前,我的dbConnection.js包含:

var mysql = require('mysql');
var db = null;
module.exports = function () {
    if(!db) {
            db = mysql.createConnection({
                socketPath: '/tmp/mysql.sock',
            user: '*********',
            password: '*********',
            database: '**********'
        });
    }
    return db;
};
Run Code Online (Sandbox Code Playgroud)

我使用以下方法将其导入每条路线:

var db = require('../dbConnection.js');
var connection = new db();
Run Code Online (Sandbox Code Playgroud)

但我想这样做:

var connection = require('../dbConnection.js');
Run Code Online (Sandbox Code Playgroud)

然而,当我这样尝试时,我得到一个错误,当我尝试进行查询时,连接没有方法'查询'.

node.js express node-mysql

25
推荐指数
1
解决办法
2万
查看次数

使用express.js动态加载路由

我使用express.js作为网络服务器,并希望一种简单的方法将所有"app.get"和"app.post"功能分离为单独的文件.例如,如果我想为登录页面指定get和post函数,我想在一个动态加载的routes文件夹中有一个login.js文件(将自动添加所有文件而不必指定每个文件) )当我运行节点app.js

我试过这个解决方案!但它对我不起作用.

routes node.js express

6
推荐指数
1
解决办法
9975
查看次数

在hbs中表达res.locals.someVariable(车把模板)

我试图将我的会话变量传递给我的把手模板,但我遇到了困难.现在我在app.configure函数中使用它:

app.use(function(req, res, next){
        res.locals.session = req.session;
        console.log(res.locals.session);
        next();
});
Run Code Online (Sandbox Code Playgroud)

它正确记录到控制台,但是当我尝试在我的把手模板中使用"session"变量时,没有任何显示.这是我的模板的一部分:

<body>
        <nav>
            {{> topBarPartial}}

            {{> secondaryBarPartial}}
        </nav>
        <div>
            <p>before</p>
            {{session}}
            <p>after</p>
            {{> mainPartial}}
        </div>

        {{> footerPartial}}
</body>
Run Code Online (Sandbox Code Playgroud)

以下是控制台记录的内容:

{ cookie: 
   { path: '/',
     _expires: null,
     originalMaxAge: null,
     httpOnly: true },
  userId: 45253262,
  name: 'Austin' }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

node.js express handlebars.js

6
推荐指数
1
解决办法
5687
查看次数

标签 统计

express ×3

node.js ×3

handlebars.js ×1

node-mysql ×1

routes ×1