簡體   English   中英

在運行時按需在內存中捆綁 Javascript 文件

[英]On-demand in-memory bundling of Javascript files at runtime

我想知道是否有一種很好的方法可以將復雜的 javascript 文件連續捆綁在一個單獨的、自定義的 JS 文件中,然后直接提供給客戶端,有點像“智能” CDN

我的用例非常簡單:將 JS 文件從微服務提供給不同的 Web 應用程序,例如 RUM 腳本(或 Google AdSense 腳本,或通過從 Web 應用程序中的服務導入 JS 文件的任何其他內容)。
問題是,每個請求的 JS 文件都會不同,基於幾個參數(例如,請求的 IP 地址、URI 中的查詢參數、后端配置等)。

解決方案可能很簡單,例如我可以通過連接字符串手動捆綁 JS 文件,然后使用最少的邏輯或在處理源 JS 文件中的占位符/預處理的標准模板引擎的幫助下提供結果文件。
我想知道是否有更好的方法來做到這一點,比如使用 JS打包器作為WebpackParcel.js
我使用 JS 打包器的經驗僅限於它們的標准用法,因此在構建過程中(或在應用程序啟動時)使用它們,並讓它們將編譯后的 JS 文件寫入磁盤。

是否有更好的使用方法,或者為我的用例建議的最佳實踐?
編程語言沒有區別,我添加了 node.js 標簽,因為理想情況下后端將使用 Express.js 開發,但 Java 或其他編譯語言也可以。

提前致謝,

當然,這絕對有可能。

  • Esbuild(一個新的、快速的打包器)有一個有據可查的 Node.js API: https ://esbuild.github.io/api/#js-specific-details

您提到的另外兩個捆綁器也同樣可用:

然后它只是(總是“只是”;-))將它們連接到您選擇的網絡框架並進入城鎮的問題。

不過,我建議您提前考慮緩存——即使 Esbuild 和 Parcel 等速度非常快,不做工作總是比做工作快。

暫無
暫無

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

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