将Microsoft Ajax Minifier集成到VS2013对JS、CSS进行编译时压缩
在网站发布中,一般要将js,css文件压缩减少体积,以减少在HTTP请求中的流量。将Microsoft Ajax Minifier集成到VS2013中就可以对JS、CSS进行编译时压缩。
VS2013的集成方法:
Asp.net网站上的详细说明网址:http://www.asp.net/ajaxlibrary/AjaxMinQuickStart.ashx
Microsoft Ajax Minifier下载地址:http://ajaxmin.codeplex.com/
下载安装后,按照如下步骤集成到VS2013
1、在web项目上右键,点击卸载项目
2、在web项目上右键,编辑项目
3、在打开的csproj文件中的</Project> 标签上面插入下面代码
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="AfterBuild">
<ItemGroup>
<JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
</ItemGroup>
<ItemGroup>
<CSS Include="**\*.css" Exclude="**\*.min.css" />
</ItemGroup>
<AjaxMin
JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" />
</Target>
Include属性是需要进行压缩的目录路径并带文件通配符
Exclude则是不需要进行压缩的文件路径
AjaxMin节点是压缩的一些参数设置
4、重新加载项目
5、编译该项目时会自动把项目下所有的*.css和*.js文件全部改名为*.min.css *.min.js
最终的版本只要引用min.css和min.js即可。如果页面文件不修改,也可使用批处理
Ajaxmin.bat
@echo off
setlocal enabledelayedexpansion
for /r . %%f in (*.min.m.js) do (
set src=%%f
set dst=!src:.min.m.js=.js!
echo !src! !dst!
copy /y !src! !dst!
)
[千万不要在开发目录下运行这个,否则把开发的js文件都覆盖了,在部署的目录下运行即可]
规范检查
和其他的语言一样,为了使javascript的编码符合规范,可以使用ajaxmin进行检查。
如要在VS2013中使用,其具体配置如下[VS菜单 -> 工具 –> 添加外部工具]
标题:AjaxMin-Analyse
命令:D:\Program Files (x86)\Microsoft\Microsoft Ajax Minifier\AjaxMin.exe(安装目录)
参数:/A /W:4 "$(ItemFileName)$(ItemExt)"
初始目录:$(ItemDir)
vs2008中有点不一样
标题:AjaxMin-Analyse
命令:D:\Program Files (x86)\Microsoft\Microsoft Ajax Minifier\AjaxMin.exe(安装目录)
参数:-ANALYZE –warn:4 "$(ItemFileName)$(ItemExt)"
初始目录:$(ItemDir)
完成以上操作后,在项目中选择你要分析的js或css文件,在工具菜单中点击“AjaxMin-Analyse”,输出窗口就会显示有警告的行数还有压缩后的js或者css代码
利用脚本AjaxMinCommandPrompt.bat 执行命令
偶尔在调试已经压缩过的js文件或则需要分析已有的压缩过的js文件时,可以使用这个工具进行还原,这样规范化以后由于格式整齐,就更好分析。
运行脚本AjaxMinCommandPrompt.bat (在Microsoft Ajax Minifier的安装目录下)
此脚本可以执行的具体命令如下:
还原:ajaxmin -pretty demo.min.js -clobber -o demo.js
压缩:ajaxmin demo.js -o demo.min.js
分析:ajaxmin –analyze –warn:4 demo.js
CSS Sprite Generator
网站如果在前期就使用CSS Sprite技术对图片进行了合并,开发起来还是挺方便的,而如果是开发好后再来整理零散的图片就会很麻烦,需要对齐图片像素、调整相关CSS样式等。
还好有工具可以帮我们完成这样的工作,这里介绍一个在线生成CSS Sprite的工具:http://www.freespritegenerator.com/
1、点击Select Files,将所有需要合并的图片上传。
2、点击Upload Files后,即可生成对应的CSS代码和合并后的图片,左边的代码就是CSS Sprite技术的精髓:通过图片的偏移实现显示合并的图片上不同位置的小图片。 而右边的图片可以通过右键另存为保存到本地,只可惜下载后的图片会自带官方的水印。
将Microsoft Ajax Minifier集成到VS2013对JS、CSS进行编译时压缩的更多相关文章
- 【翻译】Microsoft Ajax Minifier 快速使用指南(与VS集成使用) 编译后直接压缩项目的JS或CSS文件
网上找了好久终于找到一个能跟VS集成使用的JS和CSS压缩工具,因为害怕忘记,所以给转发过来,顺便翻译一下,大学那会儿学的英语基本上都已经还给老师了,所以翻译的不太好,不过能看懂就成,对吧? 原文地址 ...
- microsoft ajax registered - to fix microsoft ajax update panel post back
<dnn:DnnScriptBlock runat="server"> <script type="text/javascript"& ...
- MVC4 AspNet MVC下的Ajax / 使用微软提供的Ajax请求脚本 [jquery.unobtrusive-ajax.min.js]
源码参考:链接:http://pan.baidu.com/s/1pKhHHMj 密码:mkr4 1:新建-->项目-->Web-->ASP.NET MVC 4 Web 应用程序.命 ...
- Ajax.BeginForm无法调用 ajaxOptions的js函数
使用ajax.beginForm无法调用ajaxOptions的js函数的原因,一般都是缺少以下2个JS文件: 1,Install-Package jQuery –version 1.10.22,In ...
- vs2013 + python3.52 + boost1.61, 编译C++库失败
使用vs2013 + python3.52 + boost1.61, 编译C++库, 失败! 提示如下": boost::python::detail::init_module(st ...
- 转:与Microsoft Visual Studio集成良好的第三方工具
我们都知道,Microsoft Visual Studio(简称VS)是微软开发的一个非常高效的集成开发环境,但即使已经发展到VS2012,仍然有许多不尽人意的地方.一般来讲,一个项目中需要有控件.代 ...
- 几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比
AJAX是web2.0的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架? 让我们来想想选择AJAX框 ...
- Ajax 简单实例,其实就是js里面内容有些不同而已(转载)
这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来.不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人. 关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋 ...
- Ajax 控件 的使用 以及js调用后台方法【自己总结一下】
原文发布时间为:2009-05-16 -- 来源于本人的百度文章 [由搬家工具导入] 源码:http://download.csdn.net/source/1340120 (js调用后台方法只在源 ...
随机推荐
- (转)android.intent.action.MAIN与android.intent.category.LAUNCHER
android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 在网上看到 ...
- STM32之USART-RS485
转载自:http://www.cnblogs.com/itloverhpu/p/3278014.html 1.今天调试HDMI8X8背板和板卡的通信,一直有问题:背板可以和PC正常通信,背板可以发命令 ...
- 我了个大擦-PDO(二)
hi 昨天又213了,虽然有室友3点多才睡觉的客观影响,但是昨晚不想学东西是本质原因.今天搞起.打算3.4天之内,学完PDO和AJAX这两个,还望大家没事儿来骂骂我,免的我又偷懒. 1.PDO 二.P ...
- NOIP2003pj数字游戏[环形DP]
题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...
- AC日记——ISBN号码 openjudge 1.7 29
29:ISBN号码 总时间限制: 1000ms 内存限制: 65536kB 描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x ...
- .Net工程详解及项目版本管理
前言 写这篇文章的目地是为了让更多的小伙伴对VS生成的工程有一个清晰的认识.在开发过程中,为了赶进度,并不是每个人都有学习的时间. 但如果上层项目管理人员对这些工程目录不熟悉的话,把VS编译的中间文件 ...
- 在ios android设备上使用 Protobuf (使用dll方式)
http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://g ...
- [No000003]现代版三十六计,计计教你如何做人
<现代版三十六计,计计教你如何做人> …………………………………………………………………………………… 第1计施恩计 在人际交往中,见到给人帮忙的机会,要立马扑上去,像一只饥饿的松鼠扑向地 ...
- js对象定义
JS中的对象定义方式,跟服务端,还是有很大差别的! 现在来说一下JS类的定义 工厂模式 function creatHeven(name,age){ var temp =new Object(); t ...
- php的一些小细节
1.今天看见 $arr3 = array_filter($arr, create_function('$v', 'return strlen($v);')); 作用就是去掉为空的元素,其实当callb ...