刚刚尝试使用mastojs与nextjs API路由。如果我通过nodejs从本地机器运行mastojs代码,它就可以工作:
import { login } from 'masto';
const masto = await login({
url: process.env.URL,
accessToken: process.env.TOKEN,
});
const status = await masto.v1.statuses.create({
status: 'Hello from #mastojs!',
visibility: 'public',
});
然而,在nextjs API路由中,它给了我一个错误。NextJS中的代码看起来像这样:
import { NextResponse } from "next/server";
import { login } from 'masto';
export async function GET() {
const masto = await login({
url: process.env.URL,
accessToken: process.env.TOKEN,
});
return NextResponse.json({
hello: "world"
});
}
这已经抛出了一个错误:
- 错误node_modules/.pnpm/masto@5.11.3/node_modules/masto/dist/index.cjs(3822:33)@ EventEmitter
- error错误[TypeError]:Class extends value # is not a constructor or null at eval(webpack-internal:///(sc_server)/./node_modules/.pnpm/masto@5.11.3/node_modules/masto/dist/index.cjs:3986:38)at Object.(sc_server)/./node_modules/.pnpm/masto@5.11.3/node_modules/masto/dist/index.cjs(/Users/xxx/.next/server/app/API/bots/mastodon/route.js:1982:1)
知道这是什么吗mastojs在无服务器函数中运行有问题吗?
1条答案
按热度按时间kiz8lqtg1#
可能值得向
masto
维护人员提交一个bug,因为该库在Next.js中无法开箱即用。我通过以下步骤解决了所有编译问题:
1.安装可选依赖项:
1.对patch-package应用以下修补程序:
patches/masto+5.11.3.patch
希望这能帮上忙。