所以我已经安装了node-mysql,而且我正在快递4上运行。我是一个全新的表达者,想要学习数据库连接的最佳实践。我目前有
app.js
var mysql = require('mysql'); //set up mysql here
var routes = require('./routes/index');
var users = require('./routes/users');
var work = require('./routes/work');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')))
app.use('/', routes);
app.use('/users', users);
app.use('/work', work); //send the mysql var to work..?
app.use(mysql, work);
正如您所看到的,我在app.js中设置了mysql,如何将此变量发送到work.js.我试过了:
app.use(mysql, work);
但是当我在work.js文件中访问它时,我收到一个错误,说mysql是未定义的。
修改
我已将var mysql = require('mysql'); //set up mysql here
添加到我的work.js页面并且它可以正常工作,我应该从app.js中删除它吗?对此最好的做法是什么?每次我想在不同的页面上查询它时,我都不想打开与数据库的新连接吗?
答案 0 :(得分:1)
您可以在其他文件中使用mysql变量(使用用户路由的示例):
app.js:
exports = module.exports = function (mysql) {
console.log(mysql);
// do what you have to do with the mysql variable
}
users.js:
@echo off
@chcp 65001 > nul
@set PYTHONIOENCODING=utf-8
python "D:\Dropbox\Python\print_file_name.py" %1
pause