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的环境变量如何配置

参考文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏破晓之歌

通过xadmin或者suit-v2快速搭建后台管理系统

参考解决方法:https://blog.csdn.net/qingche456/article/details/58279692

2313
来自专栏非著名程序员

Android Studio详细安装流程和配置、主题

? 原文作者:欧神. 杨 / OCN Yang 原文地址:http://ocnyang.com/2016/09/13/AndroidStudioSet/ 特别...

2506
来自专栏python小白到大牛

学习Python一个星期用Scrapy爬取天气预报实践一番

写一个真正意义上一个爬虫,并将他爬取到的数据分别保存到txt、json、已经存在的mysql数据库中。

1792
来自专栏用户2442861的专栏

使用ThinkPHP框架快速开发网站(多图)

http://blog.csdn.net/ruby97/article/details/7574851/

2.2K2
来自专栏jojo的技术小屋

原 web安全、XSS、CSRF、注入攻击

3123
来自专栏ChaMd5安全团队

第二届强网杯 web方向部分writeup

Web签到 题目信息: Flag: QWB{s1gns1gns1gnaftermd5} 提示: http://39.107.33.96:10000 查看源码发现...

3557
来自专栏青蛙要fly的专栏

Android技能树 — 网络小结(4)之socket/websocket/webservice

介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看,最好可以指出我的错误,让我也能纠正。

1013
来自专栏玩转JavaEE

权限管理模块中动态加载Vue组件

当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异。笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来...

4456
来自专栏前端儿

【转】http-equiv="X-UA-Compatible" 设置IE浏览器兼容模式详解

文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。

2881
来自专栏PHP技术大全

使用PHPCS+GIT钩子保障团队开发中代码风格一致性实践

笔者在6月份加入新团队,新团队这边刚组建起来,基础一些东西还处于待完善状态,比如笔者组内同学约定使用PSR-2的编码风格规范,但是并不是所有人都严格按照PSR-...

1612

扫码关注云+社区

领取腾讯云代金券