2013-02-16 44 views
1

我正在用不同的基於OO的語言開發Desktop-Software。自從最近以來,我一直沒有聯繫過網絡開發。我剛開始玩jQueryjQuery Mobile來構建簡單的Web應用程序。更大的jQuery項目的結構和原因是什麼

我注意到我的項目通常以HTML文件作爲基礎,幷包含一個包含方法,事件處理程序等的* .js文件。這有點像編程意大利麪條代碼,我想不出這是怎麼回事可以處理更復雜的項目。 (可重用性,性能...)

通常的jQuery教程只是展示了一些適用於「將所有方法合併到單個腳本文件」中的簡單示例 - 方法。我也在某處讀過,最好只提供一個大文件,因爲只加載一個文件而不是很多小文件會更快。

有人能告訴我jQuery項目的結構有多大,原因是什麼?

+0

實際上,許多大型項目由多個源文件組成,這些文件被縮小並連接成一個文件進行分發。 – JJJ 2013-02-16 14:59:57

+0

我認爲這是一個完全有效的問題,它不值得讚賞。它應該是一個更好的標題。 – rcdmk 2013-02-16 15:20:27

+0

@rcdmk:感謝您的貢獻。通常很難找到問題標題的正確詞語。我經常注意到問題已經得到解答之後標題會更好地適應(並且由此我對這個問題的想法經歷了一些迭代) – MOnsDaR 2013-02-16 15:54:00

回答

4

我會嘗試你的問題分解成更小的部分:

「我發現我的項目通常有一個HTML文件爲基礎,其中包含的方法的* .js文件結束,事件處理程序等等。這有點像編程意大利麪條代碼,我想不出如何在更復雜的項目中工作。「

聽起來像您的面向對象的背景,你有被寵壞了。 Javascript不會強迫你使用它的原型繼承,而且jQuery也不會。儘管如此,它在那裏。道格拉斯·克羅克福德寫了一篇有關從傳統的面向對象爲中心的繼承移動到原型等價的:Prototypal Inheritance in Javascript

「常住jQuery的教程只是顯示它與合作以及簡單的例子‘的所有方法爲一個腳本文件’ -approach「。

是的,將所有代碼放在一個文件中,對於小型網站或網絡應用程序都可以正常工作,但不會縮放。

但是,將所有C方法聲明放在一個頭文件中,並將所有代碼放在一個源文件中,這沒什麼區別。我的觀點是你沒有。

我建議你看看像RequireJS這樣的腳本加載器來解決這個問題。在最糟的情況下,將腳本標記內聯到HTML代碼中仍然沒有問題,但這也不能很好地擴展。

「我也在某處讀過,最好只提供一個大文件,因爲只加載一個文件而不是很多小文件會更快。」

嗯......是的,但在大多數情況下這是微不足道的。即使你看到性能下降,爲什麼把你的開發代碼當作你的產品呢?使用壓縮工具(如YUI Compressor)來壓縮和合並您的JavaScript。加載時間更短,無污染。

最後一條建議:jQuery不會幫助您解決JavaScript架構問題,而不僅僅是一本字典將幫助您構造一個句子。 (換句話說,不要依賴jQuery的例子來教你一些好的JavaScript實踐)。

+1

+1對於「不依賴於jQuery示例來教您優秀的JavaScript實踐」 – rcdmk 2013-02-16 15:24:46

+0

這清楚了很多。感謝您的鏈接,我目前正在閱讀 – MOnsDaR 2013-02-16 16:01:39

相關問題