Javascript Mjml在api路线中反应
我有一个奇怪的错误。当我在api路由中导入Javascript Mjml在api路线中反应,javascript,reactjs,next.js,Javascript,Reactjs,Next.js,我有一个奇怪的错误。当我在api路由中导入mjml reactmodule(仅在node.js中工作)时,所有操作都与next dev命令一起工作,但当我运行next build然后运行next start时,我得到错误错误:找不到module'../lib/utils.js'。当我四处搜索时,我发现问题似乎是mjmlreact没有在节点中运行(不可能在客户端运行),但next.js api路由不应该在节点中的服务器端吗 我在pages/api/customer/customerrequest.
mjml react
module(仅在node.js中工作)时,所有操作都与next dev
命令一起工作,但当我运行next build
然后运行next start
时,我得到错误错误:找不到module'../lib/utils.js'
。当我四处搜索时,我发现问题似乎是mjmlreact
没有在节点中运行(不可能在客户端运行),但next.js api路由不应该在节点中的服务器端吗
我在pages/api/customer/customerrequest.js
文件中有以下代码:
import generate from '@utilities/customerRequestMail';
import mail from '@utilities/awsMailer';
import { render } from 'mjml-react';
const { db } = require('@/utilities/db');
export default async function handler(req, res) {
try {
const { html } = render(generate(), { validationLevel: 'soft' });
await mail({
toAdress: 'email@email.com',
subject: 'Subject',
text: 'Hello',
html: html,
});
return res.status(200).end();
} catch (error) {
return res.status(400).end();
}
}
import {
Mjml,
...
} from 'mjml-react';
const generate = () => {
return (
<Mjml>
...
</Mjml>
);
};
export default generate;
以及pages/api/utilities/customerRequestMail.js
文件中的mjml react
代码:
import generate from '@utilities/customerRequestMail';
import mail from '@utilities/awsMailer';
import { render } from 'mjml-react';
const { db } = require('@/utilities/db');
export default async function handler(req, res) {
try {
const { html } = render(generate(), { validationLevel: 'soft' });
await mail({
toAdress: 'email@email.com',
subject: 'Subject',
text: 'Hello',
html: html,
});
return res.status(200).end();
} catch (error) {
return res.status(400).end();
}
}
import {
Mjml,
...
} from 'mjml-react';
const generate = () => {
return (
<Mjml>
...
</Mjml>
);
};
export default generate;
导入{
Mjml,
...
}来自“mjml react”;
const generate=()=>{
返回(
...
);
};
导出默认生成;
你知道next.js认为代码是在下一次构建之后在客户端运行的吗?
致意