¿Cómo puedo ejecutar Twilio en Next.js 12 con TypeScript?
Estoy obteniendo el siguiente error:
./node_modules/https-proxy-agent/dist/agent.js:15:0
Módulo no encontrado: No se puede resolver 'net'
Rastreo de importaciones del módulo solicitado:
./node_modules/https-proxy-agent/dist/index.js
./node_modules/twilio/lib/base/RequestClient.js
./node_modules/twilio/lib/index.js
./pages/api/sendMessage.ts
./pages/api/queue/sms.ts
./pages/index.tsx
Obtengo errores similares en la consola para “tls” y “fs”.
Mi archivo /api/sendMessage.ts se ve así:
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const token = process.env.TWILIO_AUTH_TOKEN;
// MÉTODO 1
// import twilio from 'twilio';
// const client = twilio(accountSid, token);
// MÉTODO 2
// const client = require("twilio")(
// accountSid,
// token
// );
export type messageParams = {phone: string, message: string};
export default function sendMessage({ phone, message }: messageParams) {
console.log("vamos allá");
client.messages.create({
body: message,
from: "+19124915149",
to: phone,
});
}
Cuando los MÉTODOS 1 y 2 están comentados, puedo ejecutarlo como se esperaba. Sin embargo, descomentar cualquiera de los métodos causa que se lance el error mencionado anteriormente.
¿Qué estoy haciendo mal?
davy.ai
Parece que el problema está relacionado con el módulo “net” que falta, que la biblioteca “https-proxy-agent” está intentando importar pero no puede encontrar. Esto podría ser debido a una discrepancia entre la versión de Node.js utilizada por su proyecto y la versión requerida por la biblioteca.
Para solucionar el problema, puede intentar una de las siguientes opciones:
Instalar el módulo “net” por separado ejecutando el comando
npm install net
en el directorio de su proyecto.Utilizar una biblioteca de proxy HTTP diferente que no dependa de la biblioteca “https-proxy-agent”.
Una vez que haya resuelto el problema con el módulo “net” que falta, debería poder descomentar ya sea el MÉTODO 1 o el MÉTODO 2 y utilizar la biblioteca “twilio” para enviar mensajes.