我在尝试在Next.js项目中使用ky
时遇到了这个错误:
Error [ERR_REQUIRE_ESM]: 必须使用import来加载ES模块: /foo/node_modules/ky/index.js
我认为问题在于Webpack(或Babel)将所有的import
转换成了require()
,但ky
是一个纯ES模块。
我通过在使用之前动态导入ky
来使其工作,但这不够优雅也不够高效。
const handleFormSubmit = async (event) => {
const ky = (await import("ky")).default;
const response = await ky
.get('http://localhost/api/foo')
.json();
};
任何建议?
unist-util-visit
@3.1.0时遇到了同样的问题。这是正确的答案。谢谢! - Ezraesbuild index.ts --outdir=dist --sourcemap --bundle --minify --platform=neutral --main-fields=module,main,browser
它构建为 ESM,但是在 _app.js 中导入我的模块仍然会抛出此错误。 - Eric Burelpackage.json
文件中有"type": "module"
吗? - juliomalves