ASP.NET Core 项目说明
Contents
[TOC]
项目
文件
Startup
Configure
app负责配置管道,维护管道中的中间件,中间件注册的顺序很重要
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
如果是开发环境,也可以设置为如下代码,就不会用上面的Configure方法了,如果是生产环境,找不到ConfigureProduct方法,则会继续使用上面的Configure方法
public void ConfigureDeVelopment(IApplicationBuilder app,IWebHostEnvironment env)
可以使用不同环境的Startup方法,开发环境改名为StartUpDevelopment,然后再Program.CS中修改:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
// webBuilder.UseStartup<Startup>();
webBuilder.UseStartup(typeof(Program));
});
比较重要的中间件有:
1. app.UseStaticFiles() //负责开启静态文件调用
2. app.UseHttosRedirection() //强制使用https
2. app.UseAuthentication() //验证权限
ConfigureServices
负责依赖注入,IOC容器
public void ConfigureServices(IServiceCollection services)
{
//启用MVC
services.AddControllersWithViews();
}
launchSettings.json
在项目文件夹下的Properties文件夹中,配置环境变量等
开发环境:
1. Development
wwwroot
所有的静态文件需要放到wwwroot文件夹中,例如css文件,js文件,图片,图标,字体等
需要再Configure方法中使用app.UseStaticFiles()中间件,否则无法访问静态文件
css
存放项目需要的CSS设置文件,可以新建一个site.css
Controller文件夹
存放控制器文件
Views文件夹
存放视图文件
与控制器同名的文件夹
如控制器是HomeControler,则该文件夹为Home
控制器中的函数名的view
如Home控制器中的Index()函数,则需要建立Index.cshtml视图
Shared文件夹
存放公共视图文件,如_layout.cshtml,作为母版页,可以公用
_ ViewStarts.cshtml
设置所有页面公共代码,
@{
Layout="_Layout";
}
_ ViewImports.cshtml
在全项目中添加taghelper引用,如果不想在全局中添加,可以在每一个View中添加如下代码:
@addTagHelper "*,Microsoft.AspNetCore.Mvc.TagHelpers"
包管理
- 服务器端(后端):Nuget
- 前端:Npm
前端库管理工具
npm
npm需要再项目中添加npm ConfigurationFile的json配置文件
添加需要的包
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"bootstrap": "5.1.3"
}
}
客户端库 libman.json
在VS项目上右键,点击客户端库,然后选择需要的库,会在项目中添加libman.js
css文件压缩和合并
添加json文件,命名为bundleconfig.json
添加如下代码:
[
{
"outputFileName": "wwwroot/css/all.min.css",
"inputFiles": [ "wwwroot/lib/bootstrap/css/bootstrap.css", "wwwroot/css/site.css" ]
},
{
"outputFileName": "wwwroot/css/bootstrap.css",
"inputFiles": [ "wwwroot/lib/bootstrap/css/bootstrap.css" ],
"minify": {"enabled": true}
}
]
通过nuget包安装BuildBundlerMinifier,然后编译项目,会执行压缩合并
Filed under: ASP.NET Core - @ 2022年4月7日 下午9:18