集成Visual Studio/MSBuild publish 和FIS3

Fis3 是很不错的前端优化工具,功能强大,在国内也比较流行。Visual Studio和MSBuild就不用说了。但是,想把Fis3结合进Visual Studio 或者 MSBuild的开发流程中去,还没见人做过。究其原因,是因为Fis3会改变html页面本身,包括模板文件,如aspx, cshtml, php文件等等,但是,这些文件属于源文件, 是不应当改变的。但是,Visual Studio的发布功能(publish)或者 MSBuild+MSDeploy却提供了把Fis3结合进去的可能性(以下简称这些为MS工具)。 因为在这些流程中, MS工具会产生中间文件,在这些中间文件上,就可以应用Fis3工具,对有关的文件进行优化性的改变。

本人根据上述想法进行了尝试,效果还是不错的。其中,主要的困难在于要熟悉MSBuild的语法,Visual Studio的build 和publish过程,以及MS Web Deploy 的一 些知识。

关于MS Web Deploy:

  1. ASP.NET Web Application Project Deployment.
  2. Web Deployment Overview for Visual Studio and ASP.NET.

具体细节还是很多的,这里,我介绍一下效果和感受。

  1. 在visual studio中打开的asp.net项目中的default.aspx 页面:  
  2. 为此项目配置的fis-conf.js文件:
     
  3. 在VS中进行一键发布。可以发布到本机的IIS或者任何装有wmsvc服务的远程机上。如果是发布在本机,还可以方便的进行本机调试。注意我这里是发布到本机的IIS,接收端设置是:
    http://localhost:8172/msdeploy.axd
     
  4. VS IDE 中发布的结果
     
  5. VS IDE中发布的结果。查看页面的源代码。可以看到,css文件和js文件被合并了(就是aio.css, aio.js 文件),但是,没有进行其他的优化。
     
  6. 除了在VS IDE中发布以外,命令行发布也很重要。能够进行命令行发布,是实现连续集成(CI)的要素。


  7. 我在命令行发布中添加了更多的Fis3优化功能,包括: js和css的压缩, 图像的sprite化。当然,在IDE的发布中,也能进行这些优化。
    本图中,看到在页面上的css被压缩。并且进行了sprite化。

  8. css文件被合并,且sprite化。js文件被合并和压缩。


Fis3和Visual Studio/MSBuild的集成,既可以优化web 站点的性能,又可以提高开发人员效率,是很不错的东西,有这方面需要的公司,
可以向本人索求咨询服务,联系方式:http://weibo.com/u/1999451503**

感谢阅读

时间: 2024-12-26 03:39:38

集成Visual Studio/MSBuild publish 和FIS3的相关文章

集成Visual Studio/MSBuild的开发/发布流程和 FIS3

Fis3 是很不错的前端优化工具,功能强大,在国内也比较流行.Visual Studio和MSBuild就不用说了.但是,想把Fis3结合进Visual Studio 或者 MSBuild的开发流程中去,还没见人做过.究其原因,是因为Fis3会改变html页面本身,包括模板文件,如aspx, cshtml, php文件等等,但是,这些文件属于源文件, 是不应当改变的.但是,Visual Studio的发布功能(publish)或者 MSBuild+MSDeploy却提供了把Fis3结合进去的可能

MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013

MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具 经过一个多星期的努力总算完成了单表,多表关联(一对多,多对一)的增删改查的代码生成,基本上可以实现不用添加任何代码完成对数据表的操作. 下个阶段打算集成.net 4.5的认证和授权已经用户注册和角色管理 一旦有更好的方式我会把它集成到模板中实现自动生成.所以很希望得到大家的帮助.在这里我先抛砖引玉了. asp.net MVC 5 Scaffolding多层架构代码生成向导开源

Aras Innovator Method集成Visual Studio

本文目的是为了实现Aras与VS集成,使Innovator Server中的方法可以在VS中编辑.新增. 1.首先下载集成安装包: https://github.com/RazorleafLabs/Aras-Integration-to-Visual-Studio 2.下载后解压缩zip文件.解压缩后它是个完整的VS项目,有兴趣的朋友可以添加自己想要的功能并重新生成即可. 3.安装文件在ArasMenu - bin - Release目录下(ArasMenu.vsix),双击即可安装. 4.我尝

Perforce 与Source Insight, Visual Studio集成

转自:http://shashanzhao.com/archives/837.html 1.Perforce 首先需要为perforce设置系统环境变量,以便perforce命令行可以正常使用. 环境变量名 值 P4CLIENT 填写你的workspace的名字,例:code_myname P4PORT 填写perforce服务器地址和端口号,例:172.23.3.3:1666 P4USER 填写你的用户名,例:myname P4DIFF(可选) 填写比较工具的路径,例: d:\Programs

qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)

不知不觉在蒂森差不多半个月了,哈哈,时间过得很快,过得很充实,近来研究QT,首先嘛,肯定要学会安装了,这最基础的不会更不用说下面的啦.闲话少说,进正题,基本的安装步骤网上多的是,但参考一个大多数情况是安装不上的,总有这样的那样的问题,基本上我是参考了下面的步骤: Qt 4.6.2 虽然新增了LGPL协议,但这也阻碍了我们在VS中使用Qt.因为免费开源的版本只提供了GCC编译好的二进制库,而没有VC编 译好的二进制库,只有商业版本才有VS编译好的针对Windows的DLL,lib等二进制库. 再者

Unity3D技术之Visual Studio C# 集成说明

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,我们致力于打造业内unity3d培训.学习第一品牌. Visual Studio C# 集成 我可以使用哪些功能? 更加复杂的 C# 开发环境.其中包括智能自动完成.计算机辅助更改源文件.智能语法高亮提示,还有其他更多功能. Express 和 Pro 有何不同? VisualStudio C# 2010 是 Microsoft 产品.它包括快速版

项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】

在上一篇教程项目管理实践[三]每日构建[Daily Build Using CruiseControl.NET and MSBuild] 中,我们讲解了如何使用CCNET+MSBuild来自动编译项目,今天我们讲解一下怎么使用MSBuild+WebDeployment+Robocopy自动编译过和部署ASP.NET网站. 首先安装下面的三个软件: 1.MSBuild.Community.Tasks下载:http://msbuildtasks.tigris.org/files/documents/

Visual Studio Code 与 Github 集成

使用Visual Studio Code进行Nodejs开发充满了便利,为了更好的进行开发工作,有必要使用Github进行代码管理. Visual Studio Code已经集成了GIT组件: https://github.com/git-for-windows/git/releases/download/v2.8.1.windows.1/Git-2.8.1-64-bit.exe 下载并安装好,后开始配置GITHUB 1.设置全局Git用户名 $ git config --global user

[每天解决一问题系列 - 0006] MSBuild 和Visual Studio并行编译

问题描述: 有的项目会有上百个.net工程,编译时间会很长,如何缩短编译的时间呢? 解决方法: 如果使用MSbuild, 指定/maxcpucount 或者/m,如果不指定值,则取当前机器逻辑CPU的个数. 如果使用Visual Studio, 通过菜单  “Tools->Options” 打开Options对话框, 点击 “Projects and Solutions - > Build and Run”, 设置 “ maximum number of parallel project bu