2012-04-26 43 views
3

這很令人傷心我不得不在2012年4月提出這個問題,但我知道很少有解決這個問題的方法。解決靜態javascript依賴問題的最佳實踐

所以,我想要一個工具,用於靜態地編譯javascript文件,解決依賴關係。 更精確地說我想這樣的工具(姑且稱之爲sometool),它可以做到以下幾點:

  • 掃描一個文件夾,找到所有*.js文件
  • 分析此文件,並找到一些非常簡單的同步和100 %js兼容指令。同步我的意思是沒有像傳遞onload處理程序這樣的事情 - 它只是關於靜態文本預處理。通過100%js兼容我的意思是,它看起來像js的觀點看起來像一個評論 - 類似// @include
  • 解決路徑中使用的include指令,使用一些配置可以自定義
  • 替代所有包含實際輸出並將其放入單獨的文件夾中。

我知道所有這些聽起來對大多數人來說都很明顯,但是現在javascripters在談論依賴管理時理解稍有不同的東西 - 例如參見require.js

回答

3

你應該看看sprockets。它可以捆綁和打包JavaScript文件並支持包含。 儘管您可能需要編寫一些樣板代碼。 似乎有一個腳本允許鏈輪從它捆綁的命令行運行。它在Ruby中。不知道這是否是一個問題。

+0

這是什麼,現在應該檢查它) – shabunc 2012-04-26 15:13:48

+0

測試它,這正是我正在尋找。謝謝你的建議。 – shabunc 2012-04-26 16:18:20

2

實際上有一個答案,它的名字是:Apache ANT

ANT像,是一個工具,它可以爲你做幾乎任何工作。連接文件,剝離,閱讀文件/摺疊,微型等等。指令通過.xml文件完成,許多作業已經存在,但當然你可以編寫自己的作業。

這樣,你可以有一個完美的靜態構建過程。我個人使用它在severval基地。看看例如:https://github.com/jAndreas/typeof-NaN-2.0/tree/master/build

我沒有解決你所描述的JavaScript依賴關係,但我與樣式表依賴關係那裏(用實際文件替換@import行)。因此,對JavaScript文件執行相同的任務相當容易。另外,這些構建腳本的最後一步是將新生成的文件複製到我的Apache網站目錄中,其確實是一個靜態構建過程,並且您完成了。

不要害怕文件大小,我修改了現有的配置文件HTML5鍋爐板那裏。我實際上可以將該文件縮小到10%的大小,刪除所有可選的構建。

+0

@limelights:我會同意,但OP明確指出。 – jAndy 2012-04-26 14:47:12

+0

@jAndy,謝謝你的回答。我幾乎無法想象用一種簡單的開箱即用的方式來構建js。你提供的鏈接不會阻止我))) – shabunc 2012-04-26 14:47:38

+0

好的,評論刪除! :) – 2012-04-26 14:48:15