2012-05-10 47 views
0

我正在研究一個PHP類,它需要我的JS資源,並將縮小和連接的版本構建爲一個腳本文件,其中所有資產都已準備好用於生產。我唯一擔心的是它可能會破壞一些東西。例如,如果構建在需要時連接文件(例如,jQuery插件之後的jQuery核心)。我打算它是我能夠最自動的(我正在閱讀腳本目錄),但這可能會導致一些問題。如何防止JavaScript在構建過程中崩潰?

我也看到了Buildr和alse似乎是一個很好的解決方案。它做同樣的事情,構建它在目錄中的所有東西,但也許它有相同的問題?

任何解決方案?有點像包裝JS代碼莫名其妙?

回答

1

爲什麼你擔心連接順序?如果實際上(例如jQuery)在文件中被正確定義,那麼它們連接的順序並不重要(假設它們構成一個文件)。這是因爲Javascript允許你在當前文件中運行代碼,而解釋器尚未被評估。調用它之前

 
dosomething(); 

function dosomething(){ 
console.log('yup'); 
} 

DoSomething的還未進行:而任何未解決的符號在全局對象擡起頭來時,他們被稱爲(代碼已經被解析後這大概發生)

考慮以下,但口譯員仍然可以看到它。

+0

非常好的一點。 – cgTag

+0

當你開始使用命名空間時,這是不可行的,這在任何非平凡的JavaScript項目中都很常見。 – HoLyVieR

+0

我同意,但這是對OP自己的需求的批評 - 他如何描述他的「連接PHP類」工作。這個想法是指出,關於JS如何「打破」的想法是不正確的。 – dwerner

0

你需要的是依賴管理。你的可能之一是與Google Closure Compiler一起工作。它在壓縮腳本時提供依賴關係檢測(See this)。但是爲了能夠正常工作,如果您正在處理尺寸不太好但尚未使用的projet,則需要使用他們的庫,這可能會令人討厭。

+0

我看到了,它不適合這種情況...無論如何。 –