我正在使用一個使用 Tesseract (OCR) 從影像中讀取文本的應用程式。
我想從 node_modules/tesseract.js/dist 中獲取一些 JS 檔案,并使其可在瀏覽器中下載。
我知道我可以將檔案復制到 ./public 并且 next.js 將從那里靜態地提供它,但是如果我更新我的 Tesseract 版本,我可能還需要更新這些檔案。所以維護就成了問題。
我的第一個想法是自定義我的 webpack 配置以將檔案從 node_modules/tesseract.js/dist 復制到 ./public/tesseract (或類似的東西)。如果我更新 Tesseract,那將確保重新復制檔案。但我對 webpack 并不是特別精通,還沒有弄清楚如何做到這一點。
我的第二個想法是“代理”檢索 JS 檔案的內容,并將內容作為 next.js 中的“頁面”提供(但這似乎超級 hacktastic)。
我覺得這不應該那么復雜......但我自己還沒有弄清楚。
提前致謝!
uj5u.com熱心網友回復:
是的,同意,更新您的服務器以提供node_modules路徑聽起來有點危險。
我個人會像你提到的那樣用 webpack 復制這些檔案。
這是 Next.js 上有關如何設定自定義 webpack 配置的檔案。
next.config.js
const CopyPlugin = require("copy-webpack-plugin");
module.exports = {
webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
// append the CopyPlugin to copy the file to your public dir
config.plugins.push(
new CopyPlugin({
patterns: [
{ from: "node_modules/tesseract.js/dist", to: "public/" },
],
}),
)
// Important: return the modified config
return config
});
};
我故意沒有包含public/tesseract路徑,我不確定如果CopyPlugin它們在構建時不存在,是否會自動生成丟失的目錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/459118.html
標籤:javascript 节点.js 网页包 下一个.js 正方体
上一篇:部署后不顯示背景影像
