首页 > 解决方案 > 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;
},

标签: javascriptnode.js

解决方案


推荐阅读