Bla*_*ard 5 javascript mysql node.js express
我现在正在学习Node.js和Express,并希望使用mysql模块来渲染多个唯一的页面,所以不要var connection=mysql.createConnection({user:'root', password: 'root'...etc})在routes目录下的每个文件上写出行,我敢肯定最好只调用我自己的mysql配置文件在每个路由文件上.
但是,我应该在哪里将配置文件放在Express层次结构上,如何从每个路由文件中调用该文件?我知道所有图像,样式表和javascript文件都应位于目录下的每个特定目录中public,但我不知道从哪里放置要从路由文件访问的所有其他文件.
我还想知道,一旦我在Web上宣传这个Web应用程序,我的所有文件,从主目录到目录下的文件,app.js到目录下的routes文件public等等,都可以被用户找到.如果是这样,那么我认为我不应该将数据库配置文件放在客户端可以访问的目录上......对吗?换句话说,我想确保客户端可以访问哪些文件,哪些文件不能避免安全攻击.
Jea*_*erc 12
回答你的第一个问题"在哪里放置配置文件?": 这有点人性化.把它放到你的应用程序的根目录.
config.js:
module.exports = {
database:{
host: ""
user: "..."
}
}
Run Code Online (Sandbox Code Playgroud)
然后你将它包含在app.js中:
app.js:
...
config = require("./config");
db = config.database;
var connection=mysql.createConnection({user:db.user, ...})
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要两个配置文件,一个在版本控制中,另一个在机器上专用.例如,不同的开发者可能具有不同的数据库访 但我认为你现在不必担心.
对于您的第二个问题"我的所有文件是否公开?": 不,只会提供您指定为静态文件(使用快速中间件).
app.js:
...
// Exposes the public folder
app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6753 次 |
| 最近记录: |