[原文發表地址]Introducing Gulp, Grunt, Bower, and npm support for Visual Studio
Web 開發,特別是前端 Web 開發,正迅速變得像傳統的后端開發一樣復雜和精密。大多數項目不僅僅是通過 FTP上傳一些 JS 和 CSS 文件。而現在的前端生成過程,可以囊括SASS 和LESS擴展、CSS/JS的壓縮包、JSHint 或 JSLint的運行時 、或者更多。這些生成任務和進程都和像Gulp和Grunt這樣的工具一起協調工作。此外,類似於npm和bower這樣的管理系統將客戶端庫作為軟件包來管理。
ASP.NET客戶端軟件包的管理者,為什么不用 NuGet?或MSBuild?
你們中的一些人可能會問,為什么JavaScript不使用 NuGet?為什么不擴展 MSBuild 去構建 CSS/JS?原因很簡單。因為已經有了豐富的系統,來做這種事情。對於服務器端庫 (和一些客戶端)來說,使用NuGet 就已經很棒了。npm和bower 上已經有了很多的,而且還會有更多的 CSS 和 JS 庫。而對於服務器端的應用程序構建來說,使用MSBuild很棒,但當構建客戶端應用程序時,它有些多余了。
所以,兩者都可以使用。這些都是您工具包中的工具。添加Gulp,Grun,Bower,npm的支持(和將來需要其他東西) ,這意味着為ASP.NET前端開發者提供了一個更熟悉的環境。它允許 ASP.NET 開發人員引入 JS 和 CSS 庫,使他們可以每天使用。
引入任務資源管理器
我們從你們中,以及整個社會收到了相當多的、關於Grunt/Gulp的功能請求。我們利用Visual Studio “14的充分可擴展性正在構建對Grunt/Gulp第一流的支持。現在我們已經准備好將這個支持作為VS2013的一個擴展加入到預覽版本中, 並且我們感激您幫助我們測試和考察這個功能。
今天我們介紹一個預覽版本,在這個預覽版本中,“任務資源管理器”將作為VSIX的一個擴展。同時也推薦兩個其他的VSIX來完善對這個功能的體驗。
注意:VSIX擴展中的大多數功能都被內置到Visual Studio中,因此你不需要安裝其他別的東西。而且,在VS2013和此預覽版本中我們需要更多的VSIX,讓你遲早能得到這些擴展。請注意,今天任務資源管理器只工作於Vsiaual Studio Express 版本中,但VS14的所有功能都將出現在VS免費版本中。
類似於VS Productivity Power Tools一樣, “DevLabs”這樣的功能現在還在預覽版中。但是他們終將會集成到最終的產品中。
你需要什么?
首先,你將需要Visual Studio 2013.3 ,3的意思是免費的更新”Update 3”。
- TRX-任務資源管理器Visual Studio 擴展
- NMP/NBower包智能感知-搜索NPM 和Bower包在線版,它直接附加智能感知功能。
-
可選的Grunt Launcher(在解決方案資源管理器上右鍵單擊選項— — 你會看到” npm install “)
- 如果你現在沒有這種擴展,那么你將需要自己運行npm install來還原/添加軟件包
- 如果你有這種擴展,那么請在運行grunt/gulp之前,右鍵單擊 packages.json 和”npm install”
要打開 TRX (任務資源管理器),只需用鼠標右鍵單擊您的項目中任何一個 gruntfile.js文件:
默認情況下,TRX 位於VS的底部,,看起來像這樣:
在這里,我們看到 gruntfile.js 在該解決方案中的一個或多個項目的根目錄中。它還有任務綁定功能,也就是說任何任務或目標可以由 4 個不同 Visual Studio 事件觸發。
要想將一個任務/目標和一個VS事件綁定在一起,只需右鍵單擊進行綁定設置。
要想運行任何一個任務/目標,只需雙擊它,然后控制台將顯示如下:
當你有了軟件包智能感知擴展功能時,你會發現通過bower 和 npm來直接編輯package.json很容易添加並更新軟件包。
甚至,你也有了異步填充元數據工具提示功能。
現在你可以去測試它了,記住在你用任務資源管理器來運行Grunt任務之前,你需要運行“ npm install” 。