我正在我的 vps 服务器上运行 Node 。 Node 位于我的根目录,我的带有node_modules(express,socket.io)的app.js位于/home/vps/public_html/
当按照 github 自述文件设置 sendgrid 时,我遇到了麻烦:
config.js 听起来并不像我运行 sendgrids 简单代码示例时那样活跃
a.) 通过执行以下操作来引用 config.js:
var sendgrid=new SendGrid(user,key);
Node 杀死自己,因为用户未定义。
b.) 通过执行以下操作绕过 config.js:
var sendgrid=new SendGrid({user:'my_user_name',key:'my_password'});
我收到console.log(message) ['权限被拒绝,凭据错误']
这是另一张图片,这是我的 public_html 结构:
有人知道如何激活这个config.js吗?
我应该一开始就把node.js 安装到我的public_html 中吗?
最佳答案
所以,这里有一些问题:
1) 我们的自述文件中有一个拼写错误(现已更新)
tl;dr - 您应该输入 npm test
而不是 make test
本质上,你正在输入 make test
并且 make 会返回并说“嘿,cwd 中没有测试规则。看起来我没有什么可做的。再见!”。如果你仔细看, Node 库中没有Makefile,所以显然不会有任何规则。所以在这种情况下 make 肯定行不通。自述文件应该说的是 npm test
。 NPM 是 Node 的包管理器,它有一个帮助器方法 test
,它运行给定模块的所有测试。
另外,需要明确的是 - 当您输入 npm test
时,您所做的就是运行库的测试。实际上,只有当您要添加功能或修复库本身的错误时,才需要这样做。如果您尝试使用该库发送电子邮件,您应该阅读标题为“用法”的部分。
2) 您的代码中有拼写错误(这就是其他示例不起作用的原因)
您的代码如下所示:
var sendgrid = new SendGrid({user:'my_user_name', key:'my_password'});
我们提供的代码示例如下所示:
var sendgrid = new SendGrid(user, key);
注意到区别了吗?您正在传递一个 JavaScript 对象,而我们需要两个离散的字符串值。该库将其解释为您的用户名是“{user:'my_user_name', key:'my_password'}”,没有密码(因为您没有提供第二个参数)。相反,您应该执行以下操作:
var sendgrid = new SendGrid("my_user_name", "my_password");
关于node.js - sendgrid make 测试抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189443/