2

我在我的 vps 服务器上运行节点。节点在我的根目录下,我的 app.js 和 node_modules (express, socket.io) 在 /home/vps/public_html/

当按照 github 自述文件设置 sendgrid 我遇到了麻烦:sendgrid github错误

config.js 不像我运行 sendgrids 简单代码示例时那样听它的声音,如果我

a.) 通过执行以下操作来引用 config.js:

var sendgrid=new SendGrid(user,key);

由于未定义用户,节点杀死了自己。

b.) 通过执行以下操作绕过 config.js:

var sendgrid=new SendGrid({user:'my_user_name',key:'my_password'});

我得到 ['Permission denied, wrong credentials'] 的 console.log(message)

这是我的 public_html 结构的另一张图片:public_html

有人知道如何激活这个 config.js 吗?

我应该在一开始就将 node.js 安装到我的 public_html 中吗?

4

1 回答 1

2

所以,这里有一些问题:

1) 我们在 README 中有错字(现已更新)

tl;博士 - 你不应该npm test输入make test

从本质上讲,你正在打字make test,make 会回来说“嘿,cwd 中没有测试规则。看起来我没有什么可做的。再见!”。仔细看,节点库中没有 Makefile,所以显然不会有任何规则。所以 make 在这种情况下肯定行不通。README 应该说的是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");
于 2013-04-24T13:43:23.817 回答