我有一个大型 NodeJS 应用程序,在经过 Webpack-5 处理后一直运行良好。现在我添加了 http-auth,然后应用程序崩溃了。
在https://github.com/MorganLindqvist/webpack5-http-auth-failure上,您可以找到一个非常简约的应用程序版本,该版本在 Webpack5 之后执行时会崩溃。
这是它何时工作(没有 webpack 5)以及何时崩溃(使用 webpack 5)的示例。
git clone https://github.com/MorganLindqvist/webpack5-http-auth-failure.git
cd webpack5-http-auth-failure
npm install
node src/index.js
这可以正常工作,没有任何重要的事情发生。但是,如果使用 webpack5,它不起作用,而是崩溃。
npm run build_dev
node dist/main.js
错误信息如下:
类型错误:找不到来自@node-rs/bcrypt-linux-x64-gnu、@node-rs/bcrypt-linux-x64-gnux32、@node-rs/bcrypt-linux-x64-musl 和 /home 的节点绑定文件/user/webpack5-http-auth-failure/dist/bcrypt.linux-x64-gnu.node, /home/user/webpack5-http-auth-failure/dist/bcrypt.linux-x64-gnux32.node, /home /user/webpack5-http-auth-failure/dist/bcrypt.linux-x64-musl.node
安装 http-auth 时,我收到一些如下所示的警告:
npm WARN 可选跳过可选依赖:@node-rs/bcrypt-android-arm64@1.2.1 (node_modules/@node-rs/bcrypt-android-arm64):npm WARN notsup 跳过可选依赖:@node-rs 不受支持的平台/bcrypt-android-arm64@1.2.1: 想要 {"os":"android","arch":"arm64"} (当前: {"os":"linux","arch":"x64"})
现在我的问题是:这是 http-auth、webpack5 中的错误还是我这边的错误?
我一直在尝试了解警告和错误,但在搜索类似问题时没有发现任何有用的信息。
正如我所说,我有一个大项目,它崩溃时的错误与我删除 index.js 中除以下几行之外的所有内容时完全相同。
const auth = require("http-auth");
const basic = auth.basic({
realm: "Docker registry",
file: __dirname + "/../htpasswd"
});