在複雜的客戶端項目中,Javascript文件的數量可能非常大。但是,出於性能方面的原因,最好將這些文件連接起來,並壓縮生成的文件以通過網絡發送。我在連接這些時遇到了問題,因爲在某些情況下需要依賴項後纔會包含這些依賴項。Javascript對象依賴關係
例如,有2個文件:
/modules/Module.js <requires Core.js>
/modules/core/Core.js
的目錄遍歷遞歸和Module.js
被Core.js
,這會導致錯誤之前包括在內。這只是一個簡單的例子,依賴可能跨越目錄,並且可能還有其他複雜的情況。雖然沒有循環依賴關係。我遵循的Javascript結構類似於Java包,其中每個文件都定義了一個對象(我使用的是MooTools,但這不相關)。每個javascript文件和依賴的結構始終保持一致:
Module.js
var Module = new Class({
Implements: Core,
...
});
Core.js
var Core = new Class({
...
});
什麼做法,你通常遵循處理項目中的依賴關係,其中Javascript文件數量巨大,並且存在文件間依賴關係?
大聲笑,我有超過100個js文件,這只是早期階段..可以創建一個新的全職工作只是爲了這個目的:P – Anurag 2010-03-07 00:52:40
一百個文件?什麼??? – 2010-03-07 00:54:45
通過創建另一個文件'dependencies.list',按照應該包含的順序列出所有js文件(包含完整路徑),輕鬆修改您的解決方案。現在構建腳本可以創建一個'temp'文件,遍歷'dependencies.list'中列出的每個文件的內容,並保持附加到'temp'。這樣只有一個文件需要改變,並且維護順序。只有兩個人在這方面工作,這也將變得複雜。 – Anurag 2010-03-07 01:00:01