VS2015 ASP.NET5 Web項目結構淺析

前言css

本文我的同步博客地址http://aehyok.com/Blog/Detail/76.htmlhtml

在安裝好VS2015以後,一直想看看新版本的Web項目如何,上個周建了項目以後發現真是面目全非,微軟此次更新真是太兇了。因而我就有了想簡單的瞭解一下新建的項目結構的衝動,真是一發不可收啊,本身只是想研究個皮毛,這前先後後大概花掉了一週的時間(固然都是業餘的)才大體搞明白了一點吧。在此就進行記錄一下。首先來建立一個Web項目node

一、打開VS2015新建ASP.NET Web應用程序jquery

二、選擇ASP.NET 5 Starter Webgit

三、新建項目後能夠發現項目結構以下github

能夠發現項目結構能夠分爲1到6六個部分。接下來我就來簡單的描述一下我對這6個部分的理解。web

一、global.json  數據庫

一、global.json 文件存放在「Solution Items」解決方案目錄下,打開 global.json文件發現,默認有這樣的配置:express

下面咱們來驗證一下這個sources的做用。先來作一件事情,下載Asp.Net MVC源碼地址爲https://github.com/aspnet/Mvc。而後看一下下載後的文件npm

如今我將這些文件簡單的複製到E:\projects\Mvc。而後咱們回到global.json這個文件,將其中代碼簡單修改,修改後的內容以下

{
    ////"sources": [ "src", "test" ]
    "sources": ["E:\\projects\\Mvc\\src" ]
}

再來作兩個操做,右鍵解決方案,第一步先Clean Solution清除解決方案,第二步Build Solution編譯解決方案

成功以後來看一下解決方案下的文件發生了什麼變化

經過標記能夠發現,解決方案下居然加載了global.json中設置的路徑項目

若是你想把這些項目刪除掉,那麼你能夠先恢復global.json中的sources值,以及手動刪除解決方案下的項目,而後從新編譯便可。

二、Dependencies(Bower和NPM)   

Bower:bower是twitter開源的一款web包(如bootstrap、jquery)管理,依託github上愈來愈多的開源web(html+css+js)項目,bower只須要github項目加一個配置文件就可使用bower方式管理。bower提供了web包的添加、升級、刪除、發佈,以及管理包依賴,只需命令方式,便可輕鬆管理,不再須要去手工下載拷貝文件了。

咱們來看一下在VS2015中如何使用Bower。首先能夠經過Nuget來下載安裝Bower。

接着打開bower.json

在「dependencies」下輸入knoc能夠發現有智能提示額,我未來操做演示咱們來添加knockout這個JavaScript的類庫。

但對於類庫版本沒有進行提示

因而我單獨到官網http://knockoutjs.com/index.html進行輸入一個版本。

"knockout": "^3.2.0"

接下來咱們經過菜單進行安裝。先來找到位置   View==>>Others Windows==>>Task Runner Explorer,打開後以下圖所示

而後再在Tasks==>>bower右鍵後點擊Run,這裏其實就是要檢查bower.json文件,而後會將咱們添加的knockout類庫進行添加到項目中,執行完畢後會發現

 

 

 NPM:npm 是 Node.js 的模塊依賴管理工具。做爲開發者使用的工具,主要解決開發 Node.js 時會遇到的問題。如同 RubyGems 對於 Ruby 開發者和 Maven 對於 Java 開發者的重要性,npm 對與 Node.js 的開發者和社區的重要性不言而喻。如今已經移植到全宇宙最無敵的開發工具Visual Studio中了,真是使人歡呼雀躍。

NPM在VS2015中對應的配置文件爲package.json。下面咱們來添加一個模塊:經過下面的截圖能夠發現,一樣會有智能提示功能。

好比咱們添加以下模塊

"express": "^4.10.2"

而後在Task Runner Explorer下執行後在NPM文件夾下能夠看到

如今能夠右鍵express,而後點擊Restore Package

其實就是真正安裝express模塊吧。

 對於NPM的具體使用能夠參考http://www.infoq.com/cn/articles/msh-using-npm-manage-node.js-dependence

三、References  

References:References 其實就是咱們以前VS版本中的引用,能夠看下我在VS2010下的截圖

和以前不一樣的是,如今VS2015項目目錄中只有 ASP.NET 5.0 和 ASP.NET Core 5.0,其中全部的程序集都是經過 project.json 文件中的 dependencies節點進行配置管理。

 

引用好保存後,vs2015就會自動從nuget上下載相應組件。

四、MVC  

Controllers、Models和Views 和咱們以前的 ASP.NET MVC 項目沒什麼區別,Migrations 是示例項目中使用 EntityFramework 代碼遷移文件。

五、七個文件

不按照順序了。

一、Project_Readme.html

這個頁面很簡單就是針對ASP.NET 5的一個自述HTML網頁。經過這個網頁能夠連接到關於ASP.NET 5的相關內容頁面。

二、Startup.cs 應該就是原來的Global.asax.cs。

三、config.json主要就是配置數據庫連接字符串。

四、gruntfile.js至關於一個任務插件管理器

下面這就是Grunt的任務運行模版

 

在裏面分爲Alias Tasks和Tasks,其中alias中的任務,是經過在gruntfile中註冊任務得來 grunt.registerTask("default", ["bower:install"]);

而tasks則是由 grunt.loadNpmTasks("grunt-contrib-copy")得來,這些包須要提早經過package.json聲明好。

下面我簡單的經過Grunt來壓縮一個css文件。

①、在package.json中聲明插件cssmin

②、在gruntfile.js文件中加載插件

grunt.loadNpmTasks("grunt-contrib-cssmin");

③、在NPM在進行安裝插件

④、在Task Runner Explorer中刷新

刷新完後

⑤、在gruntfile.js中添加註冊任務和壓縮的文件

⑥、下面到Task Runner Explorer進行刷新,刷新以後

而後執行Run

 執行完以後查看發現

不過數值略有差別。也沒什麼關係差不太多。

這裏只是經過Grunt執行了一個壓縮的功能,還有其餘不少的功能這裏就不進行學習記錄了。

六、wwwroot

看到wwwroot,你也許並不陌生。咱們來看看網站如何運行起來吧。

如今點擊Web項目右鍵==》》Publish,選擇File System

添加應用名稱,選擇目標路徑,點擊發布

發佈成功

既然已經啓動了,那麼就至關於網站自承載成功,如今能夠打開網站了,可是什麼信息都不知道。按照以下指示進行

打開http://localhost:5000

總結

gruntfile.js經過Grunt來管理執行Bower和NPM,而Bower又經過bower.json文件進行管理,NPM又經過package.json進行管理。

project.json至關於原來的配置文件能夠管理References下項目的引用集合以及其餘配置。

Startup.cs至關於原來的Global.asax.cs。config.json主要來定義數據庫的連接字符串。

wwwroot下存放的是一些靜態文件。Web項目發佈後,經過bin目錄下惟一的dll文件AspNet.Loader.dll與命令web.cmd讓網站就能夠運行起來。這其中的奧祕還有待進一步的深刻研究呀。

相關文章
相關標籤/搜索