演示_项目结构的介绍——web应用程序(模型视图控制器)MVC
创建
创建完之后,系统会从他的模板库里相应的程序(一些必要的文件、代码)找出来
运行
开启了一个IIS的服务器,这个服务器被启动之后,我们的web应用程序就可以正常的运行了
项目结构
- 对于 .net 的项目来说,他的组织结构是:
- 一个大的解决方案下面可能有多个项目,这个项目你也可以给它再分组。
- 对于每一个项目:
- 它要么是一个可执行的服务,也么是一个可运行的程序,要么是一个可被其他的程序使用的库
- 这个项目的名字可以修改:
- 如:上面的webApplication1——右键点击属性可以修改
项目结构详细介绍
Connected Services
正在跑的一个服务
Properties
系统的一些配置 ,json结构的一个文本文件
wwwroot
它当中的内容就是我们网站所有需要用到的静态内容
CSS/JS:
css: 层叠样式,控制页面的外观
js: 脚本,控制前端页面动态的一些功能
为什么不把css、js 和 网页html 放在一起?
- 对于一个网页来说
- html内容经常性需要变化;
而css和js,通常来说, 经过开发者设计完成之后,开始部署到服务器上运行起来的时候,它往往不会变(静态的内容) - 所谓静态的内容
- 不会变,意味着可以用最简单的方式去操作它。
比如说:我就把它当成静态内容让浏览器到一个固定的url去下载它,然后针对这个url去进行加速,我就可以让用户更快地下载这个css/js。
可以把静态的内容丢给CDN(内容分发网络)去做静态内容的分发,这种分发效率很高,下载速度非常快,而且不涉及到你自己的流量(带宽)
把css/js 与html分开,单独放一个文件夹。 将来在分发内容的时候可以直接把这个目录直接分发出去,别人就可以顺利下载了。跟我的程序的动态内容分隔开来。(这是一个原则—— 为了将来能够更好的做优化,提前做一个比较复杂的结构设计 )
lib
是library的缩写,库的意思。
- jquery
- ——是JavaScript里面比较老的库,这套库可以使得 js 的代码能具备 跨不同品牌浏览器的能力
jquery-validation 和 jquery-validation-unobtrusive是jquery的两个不同功能的插件
这些东西也都是静态的内容
- 对于wwwroot
- 如果一个大大后端的开发,wwwroot里面也会有一些其他比较重要的内容;
如果是前后端分离的开发,一般没有其他比较重要的内容
在 .net 中 json结构已经大量普及了,要了解一下
program.cs
整个程序的入口
webAplication,特别是ASP.NET Core 的Aplication,具备一种独立运行的能力的,所以他自己有一个main函数
Startup.cs
启动之前我服务器可能会有一些配置文件
MVC
我们在浏览器当中/Home/privacy其实是直接访问的Controllers
当我们点home的时候: