【问题标题】:Directory confusion with Express JS与 Express JS 的目录混淆
【发布时间】:2013-10-19 23:51:28
【问题描述】:

需要我们自己的模块,目录结构应该是什么样子?例如,如果名为 modules 的文件夹中的模块需要数据库文件夹中的模块,它会是这样的吗?:

var db = require('./database/db.js')

我面临的问题是我的代码需要我的模块之一:

//Require mysql connector that you installed with npm
var mysql      = require('./mysql_conn');

这是我的目录结构:

http://prntscr.com/1yfsej

需要该模块的文件位于 routes 文件夹中,该文件位于 db 文件夹中。我不断收到此错误:

http://prntscr.com/1yfsjb

//需要使用 npm 安装的 mysql 连接器 var mysql = require('./mysql');

var conn_conf = { 主机:'本地主机', 端口:3306, 用户:'root', 密码:'root', 数据库:'nutrition_tracker' }

      var connection = mysql.createConnection(conn_conf);

  exports.connection.connect(function(err) {
   if(err) console.log("Could not connect to DB");
    else{
    console.log("Connected to "+conn_conf.database+' on '+conn_conf.host );

    return connection
    }
});

【问题讨论】:

  • //需要你用 npm 安装的 mysql 连接器 var mysql = require('./mysql'); var conn_conf = { 主机:'localhost',端口:3306,用户:'root',密码:'root',数据库:'nutrition_tracker'} var connection = mysql.createConnection(conn_conf); exports.connection.connect(function(err) { if(err) console.log("Could not connect to DB"); else{ console.log("Connected to "+conn_conf.database+' on '+conn_conf.host ) ; 返回连接 } });

标签: javascript mysql database connection


【解决方案1】:

你可以“要求”用户编写的模块,而不需要像这样的 js 扩展

var db = require('./database/db')

对于其他模块,您需要将 mysql_conn wrt 引用到 db 文件。

//Require mysql connector that you installed with npm
var mysql      = require('../mysql_conn');

【讨论】:

  • 我正在这样做:var db = require('./db/mysql_conn'),但它仍然给我找不到 mysql_conn 的错误。 mysql_conn 在文件夹 db 中。如果我在名为“routes”的文件夹中的 .js 文件中需要它,我该如何正确指定路径?像这样?:.(根)/db(文件夹)/mysql_conn(文件)?
  • 你试过了吗../db/mysql_conn.它是mysql_conn相对于当前文件的相对路径。
猜你喜欢
  • 1970-01-01
  • 2015-10-22
  • 2018-01-25
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 2021-05-04
  • 2023-03-31
  • 2013-07-31
相关资源
最近更新 更多