在 Next.js 14.2.6 中使用 @node-rs/argon2 时出现 Node:crypto 的 UnhandledSchemeError

问题描述 投票:0回答:1

我正在开发 Next.js 项目(版本 14.2.6)并遇到与 @node-rs/argon2 包相关的问题。构建过程失败,并出现 Node:crypto 模块的 UnhandledSchemeError。错误详情如下: 模块构建失败:UnhandledSchemeError:插件不处理从“node:crypto”读取(未处理的方案)。

Webpack 默认支持“data:”和“file:”URI。

您可能需要额外的插件来处理“node:”URI。

导入请求模块的跟踪:

node:crypto
./node_modules/argon2/argon2.cjs
./auth.ts

这是我运行 npm run dev 时在终端中看到的内容:

⨯ node:crypto
Module build failed: UnhandledSchemeError: Reading from "node:crypto" is not handled by plugins (Unhandled scheme).
Webpack supports "data:" and "file:" URIs by default.
You may need an additional plugin to handle "node:" URIs.

Import trace for requested module:
node:crypto
./node_modules/argon2/argon2.cjs
./auth.ts

...

⚠ Fast Refresh had to perform a full reload due to a runtime error.
GET / 500 in 48ms
GET /users 404 in 2ms
Additional Context:
Next.js Version: 14.2.6
NextAuth.js Version: 5
Argon2 Package: argon2
Node.js Version: 18.x.x
Operating System: Kali Linux
Environment Variables: Loaded via .env
Custom Webpack Configuration: None (using the default provided by Next.js)

问题:

使用 argon2 包时如何配置 Webpack 或 Next.js 来正确处理 node:crypto 模块?是否需要特定的插件或解决方法来解决此 UnhandledSchemeError?

任何帮助或指导将不胜感激!

我尝试过的:

我已经验证该问题与node:crypto模块有关,该模块由argon2包内部使用。

我尝试搜索允许 Webpack 处理节点:URI 的插件或配置,但未能找到解决方案。

问题仍然存在,快速刷新会触发完全重新加载和运行时错误,导致开发期间出现 500 和 404 响应。

next.js next-auth cryptojs next.js14 auth.js
1个回答
0
投票

这对我有用(下一个 v14.2.7)

/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    serverComponentsExternalPackages: ["@node-rs/argon2"],
  },
};

export default nextConfig;
© www.soinside.com 2019 - 2024. All rights reserved.