javascript - Node.js & Next.js Kan inte lösa '@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts' Fel
Jag gör en liten portfolio på Next.js och vill lägga till en möjlighet att skicka e-post till mig, så jag använder nodemailer, men det visar ett fel varje gång sidan startar:
Module not found: Can't resolve '@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts'
Filträdet
skickaE-post.js
"use server"
import nodemailer from "nodemailer"
const transporter = nodemailer.createTransport({
host: "gmail",
port: 300,
secure: false, // Use `true` for port 465, `false` for all other ports
auth: {
user: "...",
pass: "...",
},
});
// async..await is not allowed in global scope, must use a wrapper
export default async function sendEmail() {
// send mail with defined transport object
const info = await transporter.sendMail({
from: '"Job Portfolio" <>', // sender address
to: "[email , [email ", // list of receivers
subject: "Job", // Subject line
text: "Hello world?", // plain text body
html: "<b>Hello world?</b>", // html body
});
console.log("Message sent: %s", info.messageId);
// Message sent: <[email >
}
Contact.tsx:
"use client"
import React from 'react';
import { useState } from 'react';
import sendEmail from '@/pages/api/sendEmail.js';
const Contact = () => {
const[email, setEmail] = useState('');
return (
<form onSubmit={sendEmail}>
<input type="text" onChange={(e) => setEmail(e.target.value)} value={email}/>
..
</form>
)
}
export default Contact
Jag antar att problemet är relaterat till användningen av 'use client' och 'use server'. Jag har försökt ändra dem, men det fungerar fortfarande inte.
Beroendet av nodemailer ingår och sparas i package.json-filen.