【问题标题】:Send SMS via Twilio npm package - Error cannot find - Error: Cannot find module './webhooks'通过 Twilio npm 包发送短信 - 错误找不到 - 错误:找不到模块 './webhooks'
【发布时间】:2017-07-26 23:09:59
【问题描述】:

我正在尝试通过 Twilios npm 包发送简单的短信,我已经尝试了一些当前的包,但无济于事。所以我想我会走老式的 npm 路线。在以下服务器错误消息中,这似乎也失败了:

W20170306-13:50:46.118(-8)? (STDERR) 错误:找不到模块 './webhooks' W20170306-13:50:46.118(-8)? (STDERR) 在要求 (packages/modules-runtime.js:123:19) W20170306-13:50:46.119(-8)? (STDERR) 在meteorInstall.node_modules.twilio.lib.index.js (packages/modules.js:342:16) W20170306-13:50:46.119(-8)? (STDERR) 在 fileEvaluate (packages/modules-runtime.js:197:9) W20170306-13:50:46.119(-8)? (STDERR) 在要求 (packages/modules-runtime.js:120:16) W20170306-13:50:46.120(-8)? (STDERR) 在meteorInstall.server.server.js (server/server.js:3:14) W20170306-13:50:46.120(-8)? (STDERR) 在 fileEvaluate (packages/modules-runtime.js:197:9) W20170306-13:50:46.120(-8)? (STDERR) 在要求 (packages/modules-runtime.js:120:16) W20170306-13:50:46.121(-8)? (STDERR) 在 /Users/nicholas/Desktop/meteor/esoLounge/.meteor/local/build/programs/server/app/app.js:15:1 W20170306-13:50:46.123(-8)? (STDERR) 在 /Users/nicholas/Desktop/meteor/esoLounge/.meteor/local/build/programs/server/boot.js:303:34 W20170306-13:50:46.124(-8)? (STDERR) at Array.forEach (native)

这是我的服务器代码:

let accountSid = 'ACxxxxxxxxxxxxxxxxxxxxa',
    authToken = 'a91xxxxxxxxxxxxxxxxxxxxxxxxxa',
    twilio = require("../node_modules/twilio/lib"),
    client = new twilio.RestClient(accountSid, authToken);

client.messages.create({
    body: 'Hello from Node',
    to: '+15555555551', 
    from: '+15555555551'
}, function(err, message) {
    console.log(message.sid);
});

我也愿意接受 Twilio 之外的工作解决方案,如果有的话。谢谢!

【问题讨论】:

  • 确保你在使用流星时正确使用 npm 包。你不应该使用 require 而应该使用 imports。参考Meteor Guide
  • 正如@jordanwillis 所说。您不应该在 Meteor 中使用 require 来导入打包的节点。阅读流星指南并使用“导入”;从“twilio”导入 Twilio;

标签: javascript node.js meteor twilio twilio-api


【解决方案1】:

为什么需要这样的 twilio(带有文件路径)? Node/npm/require 会自动为您处理所有这些,我想这就是您的问题所在。

只要做:

var client = require('twilio')(accountSid, authToken);

【讨论】:

  • 我会试一试,我是按照他们的路线走的。
  • @NicholasByDesign 奇怪!我刚刚从 node/twilio 文档中获得了该代码:twilio.github.io/twilio-node/2.1.0/index.html#quickstart,但看起来他们在不同的示例中执行方式不同。如果您仍然遇到相同的错误,那么 twilio 不是您的问题,而是您的代码中的其他内容,可能与流星有关。
  • @NicholasByDesign 如果您阅读了错误,请查看底部,您需要查看 app.js 第 15 行和 boot.js 第 303 行。是完全相同的错误吗?
  • 是的,同样的错误。删除 require 调用后立即消失。
  • @NicholasByDesign 你能提供更多背景信息吗?喜欢包含您的 twilio 代码的块?不过,我对流星和构建过程知之甚少。它看起来是出于某种原因require 在错误的地方搜索。您应该确认文件webhooks.js 位于../node_modules/twilio/lib。如果是这样,那么流星/节点/某物在寻找正确的位置时遇到了麻烦。
猜你喜欢
  • 1970-01-01
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-01-17
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多