我很想知道其他團隊如何在他們的項目中使用JavaScript。目前我有一個MVC .Net應用程序 - 使用面向服務的體系結構與實體框架..等等等等 - 不是我想要問的,但有用的知道。對於客戶端來說,我正在使用signalr和knockout。 Knockout需要綁定一個視圖模型,然後SignalR才能參與其中,並獲得樂趣。Javascript與較大的項目與SignalR和KnockoutJS
要拆分這件事(和讓所有的依賴淘汰賽,jQuery的,等等),我決定使用RequireJS和結構像這樣:
|- \Js
|- app.js (This actually creates a connection with signalr)
|- config.js (requirejs.config - lists all the js libraries and then lists their dependancies)
| - \App
|- SomeFunction.js (Initialises the viewmodel and binds to the view)
|- \ViewModel
|- SomeViewModel.js (Consists of the view model)
|- SomeOtherViewModel.ks (You get the idea...)
(我沒有列出的圖書館,但他們列在Js文件夾內的供應商文件夾中)
我之所以將文件分成這麼多,是因爲1000多行javascript真的很難讀取,加上它讓我的團隊更容易處理不同的元素該項目。但這確實帶來了一個缺點 - 當我看到每個請求的流量數量時,它的1.5mb這聽起來並不壞,但隨着javascript文件的增長,它正在成爲一個越來越大的問題(特別是我承諾的應用程序會更快!)
我試圖使用縮小版本的供應商庫,但這真的沒有太大的影響。有沒有人遇到過這個問題,你是如何克服這個問題的?我不知道我如何可以minfiy的JavaScript(沒有手動這樣做),仍然使用requirejs來管理依賴關係。
感謝
我曾考慮過這一點,但我不確定我將如何在構建過程中包含此內容。你是否從你的項目構建過程中分離出了JavaScript構建過程? – Matt
我不確定你的意思。您的問題與.Net項目的結構和構建緊密相關嗎?我使用''make''來構建我的東西,而我只在Linux中構建它。從第1天開始,我有一個名爲'build/standalone'的目標,將我的代碼和外部代碼結合到一個JS代碼樹中。爲了優化目的,我添加了一個''build/standalone-optimized''目標來在''build/standalone''文件中運行''r.js''來創建一個優化版本。 – Louis
我認爲我已經構建的方式是問題的一部分,我需要或許查看其結構,然後使用r.js來縮小項目......感謝您對此的投入。 – Matt