2010-12-07 414 views
3

我已經開發了JavaScript多年,但從來沒有真正考慮過整個測試,開發和構建的東西 - 但我意識到這是非常必要的。我們剛剛使用了一個帶有簡單版本標籤的Subversion版本庫(很快切換到git)。作爲一個新的更大的純JavaScript項目(使用jQuery)即將到來,我想優化整個過程。我應該如何開始一個新的JavaScript項目(測試,開發,構建)?

我已經做了一些研究,但從未找到一個很好的入門教程。

將類拆分成幾個js文件而不是一個大的文件(正如Prototype或jQuery所做的那樣)是一個好主意。這些js文件必須「構建」爲一個文件。我如何實現這一目標?

單元測試我和我的同事正在編碼的東西是非常必要的。我發現js-test-driver有一個eclipse插件,似乎在做他的工作很好。如果我的開發者文件夾包含所有這些src-和src-test-files,那麼我如何將它集成到構建過程中?

回答

1

我會回答你的問題的一部分:

這些JS-文件必須是「打造」成 單個文件。

這僅僅是與服務器端語言可能 - 在ASP.NET中你已經建立在對於工具,否則建立自己的「合併」服務器端的文件和參考的文件而不是實際的.js文件。

+0

好的,服務器端建設沒有問題 - 但是哪種「建設」軟件對JavaScript項目有好處?我遇到了Apache Ant和Rake,但老實說,我不知道它們是否方便。 – acme 2010-12-07 15:04:16

+0

@amce我的意思是簡單的頁面,例如`merger.php?files = myfile1,myfile2`將從磁盤讀取給定文件的內容並寫回瀏覽器。這裏沒什麼特別的。 :-) – 2010-12-07 15:07:22

+0

好吧,我看到:-)也許它真的只夠寫一個自己的合併腳本,也可能包含一些像YUI Compressor這樣的優化。 – acme 2010-12-07 15:13:23

2

對於合併所有的JavaScript到一個文件中,你可以使用像YUI Compressor。你需要首先尋找一個最小化器,然後再壓縮。一個最小化器只需要這些文件並將它們合併在一起並擺脫空白。一臺壓縮機實際上會嘗試通過更改變量名稱和刪除不必要的代碼來爲您優化js。

至於單元測試,我不確定你將如何做到這一點。那裏有幾個單元測試庫。一種流行的測試工具是Selenium。我目前沒有進行單元測試,所以我不在我的元素那裏。

爲了設置您的代碼,您可以隨時查看使用JavaScript框架(如ExtJS或JavaScriptMVC)。這些幫助您以正確的方式設置代碼,並幫助您將團隊集中在適當的標準和編碼結構上,同時爲您編寫大量代碼,因此您不必重新發明輪子。

編輯:只是一個很快的想法。即使您不想使用JavaScript框架,我也會建議您查看它們,尤其是ExtJS,以便了解它們是如何組織代碼以及如何保持其清潔的一些技巧。

1

這些js文件必須「build」到一個文件中。我如何實現這一目標?

絕對保持您的文件在版本控制中分開,並且只在生成過程中合併它們。

YUI compressor mentioned elsewhere是一個基於java的工具,不僅可以合併,當然! - 壓縮文件以加快下載。

如果您只是想簡單合併文件,簡單的Perl或bash腳本(或其他首選的腳本語言)可以將多個.js文件連接成一個發行版 - 只需確保構建腳本也更新所有HTML在發佈中僅引用單個頁面。

相關問題