es 模块中的 Twilio Nodejs

问题描述 投票:0回答:3

如何将twilio导入nodejs es模块?

const client = require("twilio")(YOUR_ACCOUNT_SID, YOUR_AUTH_TOKEN);
node.js twilio twilio-api
3个回答
5
投票

在图书馆(你可以看到这里):

module.exports = function(accountSid, authToken, opts) {
    return new Twilio(accountSid, authToken, opts);
}

module.exports = Car
相当于
export default Car

因此您可以使用以下方式导入模块:

import twilio from "twilio";
//     ^ this will select default export

const client = twilio(YOUR_ACCOUNT_SID, YOUR_AUTH_TOKEN);

1
投票

你可以这样做:

import * as Twilio from 'twilio';

const YOUR_AUTH_TOKEN = process.env.TWILIO_AUTH_TOKEN;
const YOUR_ACCOUNT_SID = process.env.TWILIO_ACCOUNT_SID;


const client = Twilio(YOUR_ACCOUNT_SID, YOUR_AUTH_TOKEN);

client.messages
  .create({
     body: 'This is the ship that made the Kessel Run in fourteen parsecs?',
     from: '+15017122661',
     to: '+15558675310'
   })
  .then(message => console.log(message.sid));

确保正确安装

twilio


0
投票

如果有人在这里因为 AWS Lambda Nodejs 18.x 和 AWS SDK v3 需要 ES6 导入而遇到此问题,则列出的其他解决方案对我不起作用(我仍然会收到错误

"Cannot find package 'twilio' imported from /var/task/index.mjs"
)。

相反,我必须在 Lambda 函数中创建一个单独的

twilio-loader.js
文件:

//imports twilio as commonJS
const twilio = require('twilio');

const createTwilioClient = (accountSid, authToken) => {
  return twilio(accountSid, authToken);
};

module.exports = { createTwilioClient };

然后在我的

index.mjs
文件中,我添加了以下行

import { createTwilioClient } from './twilio-loader.js';

const { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN } = process.env;
const twilioClient = createTwilioClient(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);
© www.soinside.com 2019 - 2024. All rights reserved.