簡體   English   中英

在 Webpack5 之后,帶有 http-auth 的 NodeJS 應用程序崩潰

[英]NodeJS app with http-auth crashes after Webpack5

我有一個大型 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 平台支持不支持/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"
});

碰巧,我今天遇到了這個問題,並找到了您的問題,試圖找到解決方案。

在嘗試了一些不同的事情之后,我發現使用 http-auth 的 4.1.2 版本(而不是當前的 4.1.4,這是您的 package.json 在您的 ZD3B7C913CD04EBFECZ0E9EC3 中設置的) 所以這似乎是較新的 http-auth 版本的錯誤。 我在您的 github 存儲庫中運行了您的代碼,但使用的是 http-auth 版本 4.1.2,它運行成功。

我遇到了同樣的問題,http-auth 的 4.1.5 版本解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM