gpt4 book ai didi

javascript - Node.js 和 Express 中的数据库配置文件应该放在哪里?

转载 作者:可可西里 更新时间:2023-11-01 07:15:01 25 4
gpt4 key购买 nike

我现在正在学习 Node.js 和 Express,并且想使用 mysql 模块来呈现多个独特的页面,所以与其写出 var connection=mysql.createConnection({user :'root', password: 'root'...etc}) 位于 routes 目录下的每个文件上的行,我确信最好只调用我自己的 mysql 配置每个路由文件上的文件。

但是,我应该将配置文件放在 Express 层次结构的什么位置,以及如何从每个路由文件中调用该文件?我知道所有图像、样式表和 javascript 文件都应位于 public 目录下的每个特定目录中,但我不知道将要从路由访问的所有其他文件放在哪里文件。

我还想知道我的所有文件,从主 app.jsroutes 目录下的文件到 public 下的文件目录等...一旦我在网上公开这个网络应用程序,用户就可以找到。如果是这样,那么我认为我不应该将数据库配置文件放在客户端可以访问的目录中......对吗?换句话说,我想确定哪些文件可以被客户端访问,哪些不能,以避免安全攻击。

最佳答案

要回答您的第一个问题“配置文件放在哪里?”:这有点个人化。把它放到你的应用程序的根目录。

配置文件:

module.exports = {
database:{
host: ""
user: "..."
}
}

然后将其包含在 app.js 中:

应用程序.js:

...
config = require("./config");
db = config.database;
var connection=mysql.createConnection({user:db.user, ...})

请注意,您可能需要两个配置文件,一个在您的版本控制中,一个对机器私有(private)。例如,不同的开发人员可能具有不同的数据库访问权限。但我认为您现在不必为此担心。

对于您的第二个问题“我所有的文件都是公开的吗?”:不,只会提供您指定为静态的文件(使用 express 中间件)。

应用程序.js:

...
// Exposes the public folder
app.use(express.static(__dirname + '/public'));

关于javascript - Node.js 和 Express 中的数据库配置文件应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17053777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com