无法使用server.js上的node.js连接到数据库

我是Node.js和后端开发的新手。 我正在尝试在OPENSHIFT服务器上为我的移动应用程序创buildWeb API。 但我是生活中的问题。 我试图连接到server.js上的数据库,以设置我需要的路由(HTTP请求)。 而不知何故,我不能在server.js定义我的数据库。 我可以连接任何其他文件,我试过,但是当我尝试through server.js`连接时through我得到错误 – 整个应用程序崩溃在服务器上。 我会尝试用代码示例来解释。

这是我的server.js

 #!/bin/env node // OpenShift sample Node application var express = require('express'); var fs = require('fs'); var db = require("./db_connection");//when I delete this line, there is not any error. /** * Define the sample application. */ var SampleApp = function() { // Scope. var self = this; /* ================================================================ */ /* Helper functions. */ /* ================================================================ */ /** * Set up server IP address and port # using env variables/defaults. */ self.setupVariables = function() { // Set the environment variables we need. self.ipaddress = process.env.OPENSHIFT_NODEJS_IP; self.port = process.env.OPENSHIFT_NODEJS_PORT || 8080; if (typeof self.ipaddress === "undefined") { // Log errors on OpenShift but continue w/ 127.0.0.1 - this // allows us to run/test the app locally. console.warn('No OPENSHIFT_NODEJS_IP var, using 127.0.0.1'); self.ipaddress = "127.0.0.1"; }; }; /** * Populate the cache. */ self.populateCache = function() { if (typeof self.zcache === "undefined") { self.zcache = { 'index.html': '' }; } // Local cache for static content. self.zcache['index.html'] = fs.readFileSync('./index.html'); }; /** * Retrieve entry (content) from cache. * @param {string} key Key identifying content to retrieve from cache. */ self.cache_get = function(key) { return self.zcache[key]; }; /** * terminator === the termination handler * Terminate server on receipt of the specified signal. * @param {string} sig Signal to terminate on. */ self.terminator = function(sig){ if (typeof sig === "string") { console.log('%s: Received %s - terminating sample app ...', Date(Date.now()), sig); process.exit(1); } console.log('%s: Node server stopped.', Date(Date.now()) ); }; /** * Setup termination handlers (for exit and a list of signals). */ self.setupTerminationHandlers = function(){ // Process on exit and signals. process.on('exit', function() { self.terminator(); }); // Removed 'SIGPIPE' from the list - bugz 852598. ['SIGHUP', 'SIGINT', 'SIGQUIT', 'SIGILL', 'SIGTRAP', 'SIGABRT', 'SIGBUS', 'SIGFPE', 'SIGUSR1', 'SIGSEGV', 'SIGUSR2', 'SIGTERM' ].forEach(function(element, index, array) { process.on(element, function() { self.terminator(element); }); }); }; /* ================================================================ */ /* App server functions (main app logic here). */ /* ================================================================ */ /** * Create the routing table entries + handlers for the application. */ self.createRoutes = function() { self.routes = { }; self.routes['/asciimo'] = function(req, res) { var link = "http://i.imgur.com/kmbjB.png"; res.send("<html><body><img src='" + link + "'></body></html>"); }; self.routes['/'] = function(req, res) { res.setHeader('Content-Type', 'text/html'); res.send(self.cache_get('index.html') ); }; self.routes['/All'] = function(req, res) { db.query("select * from users",function(err,result){ if(err) res.json(err); else res.json(result); }) }; }; /** * Initialize the server (express) and create the routes and register * the handlers. */ self.initializeServer = function() { self.createRoutes(); self.app = express.createServer(); // Add handlers for the app (from the routes). for (var r in self.routes) { self.app.get(r, self.routes[r]); } }; /** * Initializes the sample application. */ self.initialize = function() { self.setupVariables(); self.populateCache(); self.setupTerminationHandlers(); // Create the express server and routes. self.initializeServer(); }; /** * Start the server (starts up the sample application). */ self.start = function() { // Start the app on the specific interface (and port). self.app.listen(self.port, self.ipaddress, function() { console.log('%s: Node server started on %s:%d ...', Date(Date.now() ), self.ipaddress, self.port); }); }; }; /* Sample Application. */ /** * main(): Main code. */ var zapp = new SampleApp(); zapp.initialize(); zapp.start(); 

这里是我的db_connection.js

 var mysql = require('mysql'); var con = mysql.createConnection({ host: "127.0.0.1", port: "3307", user: "adminm*****", password: "zLj7Sh***", database: "***db" }); con.connect(function(err) { if (err) { throw err; console.log("COULD NOT CONNECT!!!"); } }); module.exports = con; 

这是我面对的错误

在这里输入图像说明

那么,你能帮我吗? 为什么我不能在server.js上声明任何文件?