我正在尝试使用 oslo 在我的混音应用程序中实现身份验证功能。导入
oslo/password
并重建我的应用程序时,构建失败并显示以下错误消息:
✘ [ERROR] No matching export in "node-modules-polyfills:node:crypto" for import "scrypt"
node_modules/oslo/dist/password/scrypt.js:1:9:
1 │ import { scrypt } from "node:crypto";
╵ ~~~~~~
我不太确定这是否源于 Remix 没有将正确的 Polyfill 添加到浏览器包中,或者不必要地将过时的 Polyfill 添加到服务器包中。
到目前为止我采取的步骤(没有成功)包括:
oslo 文档中还有一段,解释在 Next.js 中,必须对 webpack 进行专门配置才能使
oslo/password
工作。但是,我不确定如何使其适应 Remix,以及这是否能解决问题。
预先感谢您的所有帮助!
我通过仅在服务器专用文件(.server.ts)中使用“oslo/password”解决了这个问题。