集成Visual Studio/MSBuild的开发/发布流程和 FIS3
2016-07-23 10:13
351 查看
谁不想让自己的网站速度更快?为此需要多方面的优化,但优化又会增加开发工作量。Fis3 是很不错的前端优化工具,能够让前端的优化变得自动方便,解决前述问题。Fis3是百度开发的,开源的,在国内比较六流行。Visual Studio和MSBuild就不用说了。但是,想把Fis3结合进Visual Studio 或者 MSBuild的开发流程中去,从而统一前端/后端的开发流程,还没见人做过。究其原因,是因为Fis3会改变html页面本身,包括模板文件,如aspx, cshtml, php文件等等,但是,这些文件属于源文件, 是不应当改变的。Visual Studio的发布功能(publish)或者 MSBuild+MSDeploy(以下简称这些为MS工具)却提供了把Fis3结合进去的可能性。 因为在这些流程中, MS工具会产生中间文件,在这些中间文件上,就可以应用Fis3工具,对有关的文件进行优化性的改变。
本人根据上述想法进行了尝试,效果还是不错的。其中,主要的困难在于要熟悉MSBuild的语法,Visual Studio的build 和publish过程,以及MS Web Deploy 的一 些知识。
关于MS Web Deploy:
ASP.NET Web Application Project Deployment.
Web Deployment Overview for Visual Studio and ASP.NET.
具体细节还是很多的,这里,我介绍一下效果和感受。
在visual studio中打开的asp.net项目中的default.aspx 页面:
为此项目配置的fis-conf.js文件:
在VS中进行一键发布。可以发布到本机的IIS或者任何装有wmsvc服务的远程机上。如果是发布在本机,还可以方便的进行本机调试。注意我这里是发布到本机的IIS,接收端设置是: http://localhost:8172/msdeploy.axd
VS IDE 中发布的结果
VS IDE中发布的结果。查看页面的源代码。可以看到,css文件和js文件被合并了(就是aio.css, aio.js 文件),但是,没有进行其他的优化。
除了在VS IDE中发布以外,命令行发布也很重要。能够进行命令行发布,是实现连续集成(CI)的要素。
我在命令行发布中添加了更多的Fis3优化功能,包括: js和css的压缩, 图像的sprite化。当然,在IDE的发布中,也能进行这些优化。
本图中,看到在页面上的css被压缩。并且进行了sprite化。
css文件被合并,且sprite化。js文件被合并和压缩。
Fis3和Visual Studio/MSBuild的集成,既可以优化web 站点的性能,又可以提高开发人员效率。经过上述尝试后感觉,使用上述集成的流程,前后端的开发流程完全的集成,效率提高很多,真的很顺畅。
有这方面需要的公司,
可以向本人索求咨询服务,联系方式:http://weibo.com/u/1999451503
感谢阅读
本人根据上述想法进行了尝试,效果还是不错的。其中,主要的困难在于要熟悉MSBuild的语法,Visual Studio的build 和publish过程,以及MS Web Deploy 的一 些知识。
关于MS Web Deploy:
ASP.NET Web Application Project Deployment.
Web Deployment Overview for Visual Studio and ASP.NET.
具体细节还是很多的,这里,我介绍一下效果和感受。
在visual studio中打开的asp.net项目中的default.aspx 页面:
为此项目配置的fis-conf.js文件:
在VS中进行一键发布。可以发布到本机的IIS或者任何装有wmsvc服务的远程机上。如果是发布在本机,还可以方便的进行本机调试。注意我这里是发布到本机的IIS,接收端设置是: http://localhost:8172/msdeploy.axd
VS IDE 中发布的结果
VS IDE中发布的结果。查看页面的源代码。可以看到,css文件和js文件被合并了(就是aio.css, aio.js 文件),但是,没有进行其他的优化。
除了在VS IDE中发布以外,命令行发布也很重要。能够进行命令行发布,是实现连续集成(CI)的要素。
我在命令行发布中添加了更多的Fis3优化功能,包括: js和css的压缩, 图像的sprite化。当然,在IDE的发布中,也能进行这些优化。
本图中,看到在页面上的css被压缩。并且进行了sprite化。
css文件被合并,且sprite化。js文件被合并和压缩。
Fis3和Visual Studio/MSBuild的集成,既可以优化web 站点的性能,又可以提高开发人员效率。经过上述尝试后感觉,使用上述集成的流程,前后端的开发流程完全的集成,效率提高很多,真的很顺畅。
有这方面需要的公司,
可以向本人索求咨询服务,联系方式:http://weibo.com/u/1999451503
感谢阅读
相关文章推荐
- Leetcode: N-Queens
- Xen - BIOS - System requirements
- SQL:SQL Access Advisor.Quick Tune
- 解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢
- 安装 vue.js和第一个hello world
- android Gui系统之WMS(1)----window flags & view flags
- UITableView的自定义cell方法总结
- 浅谈servlet中的request与response
- UIButton的基本属性和方法
- UIButton常用方法和属性
- 一步一步安装UEFI分区方式的windows 10 企业版
- UICollectionViewCell的四种创建方式
- UICollectionViewCell的四种创建方法
- UICollectionView的几种创建方法
- QT中实现UI部件自定义控件-通过部件提升
- GAME TIMERS: ISSUES AND SOLUTIONS.
- Why Does Qt Use Moc for Signals and Slots(QT官方的解释:GUI可以是动态的)
- ST表与二分 (CodeForces 689D-Friends and Subsequences)
- UITableView的性能优化? 滑动的时候有种卡的感觉是为什么?怎么解决?
- Basic_Android关于buildToolVersion与CompileSdkVersion