javascript - Node.js 项目中未定义 API 密钥 Mailgun
问题描述
我在运行我的 node.js 应用程序时遇到问题。我有一个运行版本 8 的节点项目。我在使用 mailgun 时遇到问题。我有我的 API 密钥,但它们在我的项目中不起作用。我正在使用mailgun 0.18。当我尝试运行该项目时,我得到了这个
2020-01-01T09:56:06.759901+00:00 app[web.1]: /app/node_modules/mailgun-js/lib/mailgun.js:16
2020-01-01T09:56:06.759957+00:00 app[web.1]: throw new Error('apiKey value must be defined!')
2020-01-01T09:56:06.759960+00:00 app[web.1]: ^
2020-01-01T09:56:06.759962+00:00 app[web.1]:
2020-01-01T09:56:06.759964+00:00 app[web.1]: Error: apiKey value must be defined!
2020-01-01T09:56:06.759966+00:00 app[web.1]: at new Mailgun (/app/node_modules/mailgun-js/lib./mailgun.js:16:13)
2020-01-01T09:56:06.759968+00:00 app[web.1]: at create (/app/node_modules/mailgun-js/lib/mailgun.js:234:10)
2020-01-01T09:56:06.759970+00:00 app[web.1]: at Object.<anonymous> (/app/mail/emailActivation.js:4:38)
2020-01-01T09:56:06.759972+00:00 app[web.1]: at Module._compile (module.js:653:30)
2020-01-01T09:56:06.759974+00:00 app[web.1]: at Object.Module._extensions..js (module.js:664:10)
2020-01-01T09:56:06.759976+00:00 app[web.1]: at Module.load (module.js:566:32)
2020-01-01T09:56:06.759978+00:00 app[web.1]: at tryModuleLoad (module.js:506:12)
2020-01-01T09:56:06.759980+00:00 app[web.1]: at Function.Module._load (module.js:498:3)
2020-01-01T09:56:06.759982+00:00 app[web.1]: at Module.require (module.js:597:17)
2020-01-01T09:56:06.759984+00:00 app[web.1]: at require (internal/module.js:11:18)
2020-01-01T09:56:06.759986+00:00 app[web.1]: at Object.<anonymous> (/app/routes/apiRoutes.js:11:18)
2020-01-01T09:56:06.759987+00:00 app[web.1]: at Module._compile (module.js:653:30)
2020-01-01T09:56:06.772146+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-01-01T09:56:06.772673+00:00 app[web.1]: npm ERR! errno 1
2020-01-01T09:56:06.775514+00:00 app[web.1]: npm ERR! prop-manager@1.0.0 start: `node server.js`
2020-01-01T09:56:06.775710+00:00 app[web.1]: npm ERR! Exit status 1
2020-01-01T09:56:06.775979+00:00 app[web.1]: npm ERR!
2020-01-01T09:56:06.776266+00:00 app[web.1]: npm ERR! Failed at the prop-manager@1.0.0 start script.
2020-01-01T09:56:06.776535+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-01-01T09:56:06.785682+00:00 app[web.1]:
2020-01-01T09:56:06.785816+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2020-01-01T09:56:06.785888+00:00 app[web.1]: npm ERR! /app/.npm/_logs /2020-01-01T09_56_06_778Z-debug.log
2020-01-01T09:56:06.857607+00:00 heroku[web.1]: State changed from starting to crashed
2020-01-01T09:56:06.831227+00:00 heroku[web.1]: Process exited with status 1`
我试图更改节点版本并使用它,但我的密钥和网站正在运行。我不知道为什么它不能使用好的 api 密钥。代码是
const appSettings = require('../appSettings');
const api_key = appSettings.getSetting('XXXXXXXXXXXX');
const DOMAIN = appSettings.getSetting('support.example.com');
const mailgun = require('mailgun-js')({ apiKey: api_key, domain: DOMAIN });
const sendMail = require('./sendMail');```
有人可以指导我应该做些什么来修复这个项目。我有工作钥匙等。谢谢
getSetting: function (name) {
var setting = this.settings.find(setting => (setting.name == name));
if (setting) return setting.value;
// defer to environment if we don't have a setting by the requested name.
if (process.env[name] !== undefined) return process.env[name];
// null indicates setting not found
return null;
},
解决方案
推荐阅读
- javascript - 如何更改应该与 javascript 具有相同值的多个元素?
- laravel - Laravel 控制器查询给出空输出
- python-3.x - 如何使用 python 程序解锁 Windows-10 屏幕
- c# - 如何将 asp.net core mvc 项目分成多个程序集(.dll)?
- java - Java 8 具有 Stream API、Lambda 以及与 Java 7 的简洁代码比较
- java - 在 while 循环中构建 Flux 对象
- multithreading - OWLAPI API 是线程安全的吗?
- php - 如何从单个模型中打印出两个急切加载的关系
- asp.net - 为什么远程调试器无法运行?
- python - 真正进口的是什么?