使用 bun 时出现模块未找到错误
问题描述
使用 bun 时,您可能会遇到如下错误:
Cannot find package 'intlayer' from '/workspace/packages/@intlayer/config/dist/cjs/utils/ESMxCJSHelpers.cjs' undefined原因
Intlayer 内部使用了 require。而 bun 将 require 函数的作用域限制为只解析 @intlayer/config 包的依赖,而不是整个项目。
解决方案
在配置中提供 require 函数
const config: IntlayerConfig = { build: { require, // 在构建配置中提供 require 函数 },};export default config;next.config.ts
复制代码
复制代码到剪贴板
import { withIntlayer } from "next-intlayer/server";const configuration = withIntlayer({ require, // 使用 withIntlayer 时传入 require 函数});export default configuration;