asp.net core合并压缩资源文件引发的学习之旅
0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件
在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www.cnblogs.com/morang/p/7207176.html
在asp.net core中则可以使用BuildBundlerMinifier来进行css,js的压缩合并
新建一个core项目可以看到一个根目录下面有一个bundleconfig.json配置文件,看名字大概也猜到了几分,点开json文件中的链接,果然就是它~
官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/client-side/bundling-and-minification
好的。接下来跟着文档试试看
1. 在vs中下载安装扩展

重启vs2017,卧槽。一遍又一遍无响应..幸好还有其他路可以走...

2. 使用NuGet安装 BuildBundlerMinifier
- 使用命令
dotnet add package BuildBundlerMinifier或者 NuGet包管理器安装完毕 - 重新生成项目
 - yes,成功,整个配置文件的配置一看就能明白:结合图看配置就知道是将
inputFiles配置的条目资源压缩合并成outputFileName的资源

 
参数说明
-outputFileName:要输出的压缩文件的相对路径。
-必填
-inputFiles:要输出的压缩文件的相对路径。
- 可选,为空则输出空文件
- 空值会在空的输出文件。 支持组合模式
- 组合模式 栗子:"inputFiles": ["wwwroot/**/*(*.css|!(*.min.css)"] 将获取所有 CSS 文件,不包括缩减的文件模式。
-minify:压缩选项的配置
- 默认启用压缩,更多配置见BundlerMinifier-Wiki
- 可选
-includeInProject:将生成的文件添加到项目文件 (默认的文件中也没有这个选项)
- 文档写的是 默认false,在vs中转到定义查看是true 。囧,默认是没有这个参数的
-sourceMaps:生成捆绑的文件的源映射
-默认false
3.根据不同环境使用不同的css/js
使用新增的environment标签去根据不同的环境引入不同的css文件

ok,可以的,那么问题来了
.net core的Development,Staging,Production这几个环境变量在哪里配置呢?
三个环境分别对应 开发 测试 生成,详情见文档(划重点):https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments
简单描述之:项目右键->属性->调试->环境变量->>>一张图说明
然后发现原来调试信息什么的都是放到launchSettings.json中~
将环境变量ASPNETCORE_ENVIRONMENT的值修改为Production后,运行起来,总算完成了
文档中有说需要注意的地方
在 Windows 和 macOS 上,指定的环境名称是区分大小写。
是否将变量设置为Development或development或DEVELOPMENT结果将是相同的。但是,Linux 是区分大小写默认情况下的操作系统。环境变量、文件名和设置需要区分大小写。
命令行设置环境变量
- cmd:
set ASPNETCORE_ENVIRONMENT=Development - PowerShell:
$Env:ASPNETCORE_ENVIRONMENT = "Development" - macOS、Linux:运行时指定
ASPNETCORE_ENVIRONMENT=Development dotnet run - linux 设置计算机级别的环境变量需将
export ASPNETCORE_ENVIRONMENT=Development写入.bashrc或.bash_profile文件 
在关于环境变量的底部也说明了如何获取当前的运行时环境
可通过IHostingEnvironment接口的扩展直接判断环境

使用

总结
收获颇多,明确了目标,之前模糊畏难的东西也逐个解决了
- .net core 如何合并压缩js
 - .net core 如何在不同的环境使用不同的资源
 - .net core的环境变量如何配置
 
参考文档
- .net core 环境变量的说明:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments
 - asp.net core 压缩合并:https://docs.microsoft.com/zh-cn/aspnet/core/client-side/bundling-and-minification
 
asp.net core合并压缩资源文件引发的学习之旅的更多相关文章
- asp.net core合并压缩资源文件(转载)
		
在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www.cnb ...
 - asp.net core2.1 bundleconfig.json合并压缩资源文件
		
在asp.net core中则可以使用BuildBundlerMinifier来进行css,js的压缩合并 1.使用NuGet安装 BuildBundlerMinifier(也可以在vs中下载安装扩展 ...
 - 由ASP.NET Core根据路径下载文件异常引发的探究
		
前言 最近在开发新的项目,使用的是ASP.NET Core6.0版本的框架.由于项目中存在文件下载功能,没有使用类似MinIO或OSS之类的分布式文件系统,而是下载本地文件,也就是根据本地文件路径进行 ...
 - ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
		
通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...
 - ASP.NET Core 1.1 静态文件、路由、自定义中间件、身份验证简介
		
概述 之前写过一篇关于<ASP.NET Core 1.0 静态文件.路由.自定义中间件.身份验证简介>的文章,主要介绍了ASP.NET Core中StaticFile.Middleware ...
 - Asp.Net Core 中的静态文件
		
Asp.Net Core 中的静态文件 在这节中我们将讨论如何使 ASP.NET Core 应用程序,支持静态文件,如 HTML,图像,CSS 和 JavaScript 文件. 静态文件 默认情况下, ...
 - ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面
		
DefaultFilesMiddleware中间件的目的在于将目标目录下的默认文件作为响应内容.我们知道,如果直接请求的就是这个默认文件,那么前面介绍的StaticFileMiddleware中间件会 ...
 - ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构
		
和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义了一个请求地址与某个物理目录之间的映射关系,而目标目录体现为一个FilePr ...
 - ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求
		
我们通过<以Web的形式发布静态文件>和<条件请求与区间请求>中的实例演示,以及上面针对条件请求和区间请求的介绍,从提供的功能和特性的角度对这个名为StaticFileMidd ...
 
随机推荐
- Capacitor电容
			
capacitor无正负极性. cap electrolit有极性,实际中不能接反,否则电容会烧毁或爆炸. MULTISIM仿真中接反会有漏阻存在,但不会烧毁. 电容的分类 按结构可分为:固定电容,可 ...
 - 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的基本架构和工作机理
			
[Zigbee技术入门教程-02]一图读懂ZStack协议栈的基本架构和工作机理 广东职业技术学院 欧浩源 ohy3686@foxmail.com Z-Stack协议栈是一个基于任务轮询方式的操作 ...
 - MySQL下载安装、基本配置、问题处理
			
一 mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...
 - Selenium 学习笔记(一)
			
selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...
 - 在Intellij IDEA中使用Debug
			
Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方 ...
 - JavaScript学习日志(一):变量,作用域和内存问题
			
一,变量分为两种类型:基本类型值和引用类型值,基本类型包括:Undefined, String, Boolean, Null, Number,我们无法给基本类型值添加属性: 二,复制变量值的时候,如果 ...
 - 数据库学习任务四:数据读取器对象SqlDataReader、数据适配器对象SqlDataAdapter、数据集对象DataSet
			
数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...
 - 基于GUI的四则运算
			
基于GUI的四则运算 李志强 201421123028 连永刚 201421123014 林方言 201421123023 coding 地址 https://git.coding.net/lizhi ...
 - 201521123117 《Java程序设计》第5周学习总结
			
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点 2. 书面作业 Q1代码阅读:Child压缩包内源代码 1.com.parent包中Child.java文件能否编译通过?哪句会 ...
 - 201521123027  《JAVA程序设计》第3周学习总结
			
1.本周学习总结 2.书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; pu ...
 
			
		
