https://docs.asp.net/en/latest/conceptual-overview/understanding-aspnet5-apps.html
asp.net5 中引入了一些web程序的基础概念,这些概念在开源平台上已经普及,在asp.net 中则比较新。
package.json
userSecretsId 是程序的唯一标识符
只有放在wwwroot下的内容可以被web request访问
依赖项目录下是客户端需要的package,通过bower,npm来管理。
引用目录下是服务器需要的package,服务器端通过nuget来管理。bower,nuget分别是客户端和服务器端的第三包管理程序。
另外,还需要了解npm,gulp,grunt等三个概念
npm是node.js的包管理器,js本来是前段语言,node.js则是基于js的后台语言。发展出了很多的应用。
比如gulp,grunt
grunt可以用来打包压缩图片,js文件等。大大提高应用程序的加载速度。
glup似乎是grunt的替代。
关于grunt和glup还需要进一步的了解。在asp.net5中默认使用glup,在glupfile.js中配置打包工作,来打包lib目录下的js,css,
这样在view中,可以直接使用js,css的压缩版本,xx.min.js ,xx.min.css
所以客户端开发的步骤是这样的
用bower下载需要的第三包,自动用glup打包,在view中引用js,css文件。开始使用。
另外,用户自定义的js,css可以放在site.js,site.css文件中。
在view中可以定义开发环境和产品环境,在开发环境中使用没压缩的文件,在产品环境中使用压缩的文件。
剩下的model,views,controls目录就比较好理解了。
另外,asp.net还推荐了一些客户端开发控件。
bootstrap规范了客户端样式。
如AngularJS 重新定义了前端应用的开发方式。
Knockout.js
yeoman等。