2016-05-16 82 views
-4

我一直在試圖找到一個答案,爲什麼webpack關心在後端加載模塊。有什麼理由可能需要這個嗎? JSPM是否也在後端進行模塊加載?爲什麼在後端使用模塊加載?

+0

你能澄清你的意思嗎?「加載/在後端?」你是指模塊捆綁嗎? – ebpa

+0

是模塊綁定 –

+0

是「爲什麼爲客戶端預先捆綁JavaScript代碼?」對你的問題進行公正的改寫? – ebpa

回答

0

假設您的第一個問題與一致:「爲什麼要爲客戶端預先捆綁JavaScript代碼?」

模塊捆綁有很多原因。有幾個:

  1. 簡單的文件彙總:捆綁相關的代碼讓許多任務更容易/更直觀。在捆綁這些文件之後,而不是在部署大型文件目錄樹後,可能只是一個單獨的捆綁文件。
  2. 加載性能:單獨加載客戶端單獨文件中的依賴關係歷來非常緩慢。每個文件都必須分別進行分析和評估,並且根據所使用的模塊系統,可能會在等待依賴關係被發現和加載時產生相當大的延遲。
  3. 媒體類型抽象:捆綁器通常允許綁定非JavaScript內容的方法。包括圖像和樣式表等資源非常方便,並鼓勵您的應用程序中使用它們的部分顯式/明確依賴。
  4. 搖樹:通過分析模塊和代碼之間的依賴關係,通常可以選擇性地包含應用程序所需的內容,並減少整體代碼庫的大小。這本質上並不是捆綁的特徵,但通常是因爲有一些構建步驟的概念。

關於你提到的秒問題

JSPM不提供此功能。這可以使用jspm bundle命令在命令行上完成。

0

最簡單的原因是性能。打開文件和關閉文件比發送文件(流)所用的時間要慢,因此,打開和關閉文件操作越少,服務器發送請求文件的速度就越快。因此,通過減少構成javascript/web項目的文件數量,瀏覽器將更快獲取文件並開始爲最終用戶處理文件。

良好的構建過程可以爲您的web項目做的事情不僅僅是簡單地將所有Js文件添加到一起,因爲諸如JSPM的工具還可以將css和html文件放在一起,形成一個bundle.js文件,進一步添加到您的最終用戶體驗。

相關問題