如何解决将所有凭据放入文件.json
我是Java语言的新手,我仍然对javascript和使用json文件感到困惑。我在我的一个办公室项目中工作,目的是发送消息,我已经完成了后端和前端的所有代码,但是当我的项目负责人审核了代码时,他说要将所有凭据保存到文件json中。 。要发送消息/邮件,我使用来自node.js的nodemailer
这是我必须放入json文件中的凭据
const transporter = mail.createTransport({ //unresolved
service: 'Gmail',host: 'smtp.gmail.com',auth: {
user: 'no.replyxx@xx.org',pass: 'xxxxxx'
}
});
我已经将其放入json文件中,但是当我在javascript文件中调用它时,我不知道如何调用它,我尝试导入json文件,但是我得到的错误是因为有人可以提供帮助我,我的问题恰恰是我如何将凭证写入json文件以及如何在JavaScript中使用它?谢谢
解决方法
您应该考虑使用dotenv
您可以像这样使用它
// this will find the .env file at the root of your project
// and parse the entries into key/value pairs on the `process.env` object
require('dotenv').config()
const transporter = mail.createTransport({ //unresolved
service: 'Gmail',host: 'smtp.gmail.com',auth: {
user: process.env.MAIL_USER,pass: process.env.MAIL_PASS
}
});
在项目的根目录下创建一个.env
文件
// .env
MAIL_USER=no.replyxx@xx.org
MAIL_PASS=secret-password
此外,您还应确保不要将其提交给版本控制系统。
如果您使用的是git,请创建一个.gitignore
并确保您有一个.env
的条目
// .gitignore
.env
,
第一件事,在JSON中,没有const
。 const
来自JS。如果要将凭据保存到JSON文件,它将包含以下内容:
{
"service": "Gmail","host": "smtp.gmail.com","auth": {
"user": "no.replyxx@xx.org","pass": "xxxxx"
}
}
而且,它需要双引号而不是单引号。
这之后,您所需要做的就是
const credentials = require('./jsonCredentials.json');
,
首先,您可以使用称为fs
的{{1}}库方法导入文件的内容。
然后,您使用fs.readFileSync(filePath)
方法将内容解析为JSON对象。
从那里,您可以将JSON内容作为对象,现在可以在JSON.parse(content)
方法调用中使用它。
我只想补充一点,我建议使用更安全的.env文件。
但是要回答您的问题, 由于我假设您正在使用ReactJS,因此您可以执行以下操作:
config.js
export default const config = {
service: 'Gmail',auth: {
user: 'no.replyxx@xx.org',pass: 'xxxxxx'
}
}
然后只需导入即可使用
import config from './config.js'
function myFunction()
{
const transporter = mail.createTransport(config);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。