整合ajaxmin 和 less 到VS.net

    我用的前端框架是bootstrap_extra, twitter团队做的,这个是他的一个扩展,首先从上面下载一个。至于ajaxmin,请参考这里

    

   1) 从bootstrap_extra的解压包中,复制build目录下三个文件到项目中去,这三个文件分别是

  •    BatchSubsitute.bat  
  •    less.js
  •    lessc. wsf

  2) 然后加入到Vs.net 的项目中,我把build目录排除出项目外,这样使用publish功能的时候,就不会把Build目录页发布出去。

 

 3) 编写less.bat,其中我的 less文件是放在 项目目录下面 Content\less\  

call BatchSubstitute.bat "@VERSION" "1.4.0" ..\Content\less\bootstrap_xtra.less > ..\Content\less\bootstrap_xtra.tmp.less
call BatchSubstitute.bat "@DATE" "%date% %time%" ..\Content\less\bootstrap_xtra.tmp.less > ..\Content\less\bootstrap_xtra.tmp.1.less
cd ../Content/less
@cscript //nologo "http://www.cnblogs.com/build/lessc.wsf" bootstrap_xtra.tmp.1.less ../combine/bootstrap.css

del /f bootstrap_xtra.tmp.less
del /f bootstrap_xtra.tmp.1.less

cd http://www.cnblogs.com/build

 

3) 然后用记事本,或者notepad++之类的编辑器修改 项目文件,如 hehe.csproj

找到编译Web项目的Task,一般如下:

 

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
 </Target>

 

 红色部分是 编译成功之后,执行的Task名称叫做“AfterBuild",然后启动我们刚刚写得less.bat,执行编译css,留意一下WorkingDirectory,我是假设执行目录是在build目录执行的,否知会出错。

 

<Target Name="AfterBuild">
    <Exec Command="$(MSBuildProjectDirectory)\Build\less.bat" ContinueOnError="false" WorkingDirectory="$(MSBuildProjectDirectory)\Build\" />
    <ItemGroup>
      <JS Include="**\Scripts\Combine\*.js" Exclude="**\Scripts\Combine\*.min.js" />
    </ItemGroup>
    <ItemGroup>
      <CSS Include="**\Content\Combine\*.css" Exclude="**\Content\Combine\*.min.css" />
    </ItemGroup>
    <AjaxCombine JsSourceFiles="@(JS)" JsCombinedFileName="..\global.js" CssSourceFiles="@(CSS)" CssCombinedFileName="..\global.css" />
    <ItemGroup>
      <COMBINEDJS Include="**\Scripts\global.js" Exclude="**\Scripts\*.min.js" />
    </ItemGroup>
    <ItemGroup>
      <COMBINEDCSS Include="**\Content\global.css" Exclude="**\Content\*.min.css" />
    </ItemGroup>
    <AjaxMin JsSourceFiles="@(COMBINEDJS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(COMBINEDCSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" />
  </Target>
  <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
  </Target>



less编译完毕之后,我们就执行 用ajaxmin,执行压缩,这个配置请参考这里

 

以下是新增的部分

 

 

<Import Project="$(MSBuildProjectDirectory)\Build\ajaxmin.tasks" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target> -->
 
  <Target Name="AfterBuild">
    <Exec Command="$(MSBuildProjectDirectory)\Build\less.bat" ContinueOnError="false" WorkingDirectory="$(MSBuildProjectDirectory)\Build\" />
    <ItemGroup>
      <JS Include="**\Scripts\Combine\*.js" Exclude="**\Scripts\Combine\*.min.js" />
    </ItemGroup>
    <ItemGroup>
      <CSS Include="**\Content\Combine\*.css" Exclude="**\Content\Combine\*.min.css" />
    </ItemGroup>
    <AjaxCombine JsSourceFiles="@(JS)" JsCombinedFileName="..\global.js" CssSourceFiles="@(CSS)" CssCombinedFileName="..\global.css" />
    <ItemGroup>
      <COMBINEDJS Include="**\Scripts\global.js" Exclude="**\Scripts\*.min.js" />
    </ItemGroup>
    <ItemGroup>
      <COMBINEDCSS Include="**\Content\global.css" Exclude="**\Content\*.min.css" />
    </ItemGroup>
    <AjaxMin JsSourceFiles="@(COMBINEDJS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(COMBINEDCSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" />
  </Target>
  <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
  </Target>

 

 

如果是使用 bootstrap 2.0.1,从sourcecode给的Less,在上面的脚本Less.js(已经是最新的)运行时会出错的,请教一下谁有更好的解决方案请告知我。

我的修复方式如下:

把下面这一段,移动到 @import "reset.less" 之前,因为Reset.less 引用了 minxs.less的 东西。

// Core variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "mixins.less";

 

打开 variable.less


// Sprite icons path
@iconSpritePath:          “../img/glyphicons-halflings.png";
@iconWhiteSpritePath:  "../img/glyphicons-halflings-white.png";

 修改为 带 url的变量,例如向下面那种:

// Sprite icons path

@iconSpritePath:          url('img/glyphicons-halflings.png');
@iconWhiteSpritePath:     url('img/glyphicons-halflings-white.png');

转到sprite.less,把引用上面变量的地方,改为像下面那种样式


    backgroupd-image: url(@iconSpritePath) 

改为

backgroupd-image: @iconSpritePath

 


 


 


 

   

转载于:https://www.cnblogs.com/fantasylu/archive/2012/03/01/2376034.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

六、出库管理功能的实现

一、数据库的建立 这里仍使用yy_textile表 在fiber_yy数据库下创建yy_textile表 初始数据库信息 二、页面的完善 登录注册页面我就不演示了&#xff0c;前几篇博文也都有介绍 shipment出库管理页面 main_page页面进行功能完善 三、代码实现 shipment出库管理页面 u…

数学建模:层次分析法实例以及代码

博主联系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里会有往届的smarters和电赛选手&#xff0c;群里也会不时分享一些有用的资料&#xff0c;有问题可以在群里多问问。 目录层次分析法的思想层次分析法步骤具体案例(市政工程项目建设决策)1.问题提出2.…

探秘IntelliJ IDEA 13测试版新功能——调试器显示本地变量

IntelliJ IDEA在业界被公认为最好的Java开发平台之一&#xff0c;JetBrains公司将在12月正式发布IntelliJ IDEA 13版本。 现在&#xff0c;小编将和大家一起探秘密IntelliJ IDEA 13测试版本新功能——调试器显示本地变量。这个功能非常强大&#xff0c;调试器可以显示变量&…

C# Windows Form下的控件的Validator(数据验证)

由于偶尔的一个想法&#xff0c;谋生了一个做一个windows form下的Validator控件&#xff0c;或者直接说类吧&#xff01; 因为webform下的Validator控件太好用了。哈哈&#xff0c;直接看代码&#xff01; 下面这个类&#xff0c;主要是一个简单的验证类&#xff0c;不过只是起…

七、流水查询---记录用户登录信息

一、数据库的建立 在fiber_yy数据库下创建yy_user_record表 可以先手动填入几条数据信息 初始数据库信息 username为用户账号 sex为用户注册所填写的性别 phone为用户手机号 time为用户登录该系统的时间 二、页面的设计 登录注册页面我就不演示了&#xff0c;前几篇博文…

leetcode 455. 分发饼干 思考分析

目录题目自己的思路以及AC代码参考思路题目 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并…

八、流水查询---记录纺织品出库信息

一、数据库的建立 在fiber_yy数据库下创建yy_textile_record表 可以先手动填入几条数据信息 初始数据库信息 第一条数据的username是空格不是null number为织物的品号(唯一的) stock为出货量 username为哪个账号 time为出货时间 二、页面的完善 登录注册页面我就不演示…

应用程序栏【WP7学习札记之九】

本节是WP7学习札记的第九篇&#xff0c;讲的是系统托盘和应用程序栏&#xff0c;具体内容是系统托盘和应用程序栏的介绍&#xff0c;如何分别使用C#、xaml以及Expression Blend生成应用程序栏&#xff0c;应用程序栏的透明度以及对屏幕方向改变的支持。摘要如下&#xff1a; 系…

leetcode 第 216 场周赛 整理

目录1662. 检查两个字符串数组是否相等题目自己代码5606. 具有给定数值的最小字符串题目自己代码贪心算法1664. 生成平衡数组的方案数题目自己代码动态规划优化1665. 完成所有任务的最少初始能量题目思路1662. 检查两个字符串数组是否相等 题目 给你两个字符串数组 word1 和 …

九、忘记密码功能的实现

一、页面设计 login页面&#xff0c;和第二篇博文(用户登录和注册)页面基本一样&#xff0c;只不过多了一个按钮 其中忘记密码&#xff1f;点我找回 为button3 retrieve_password页面 change_password页面 页面如下&#xff1a; 二、数据库 因为是忘记密码&#xff0c;…

Android中对手机文件进行读写

参考张泽华视频 &#xff08;一&#xff09;读写手机内存卡中的文件 对手机中的文件进行读写操作&#xff0c;或者新增一个文件时&#xff0c;可直接使用openFileOutput / openFileInput 得到文件的输出、输入流。 FileOutputStream fos this.openFileOutput("private.…

联轴器选型_联轴器| 软件工程

联轴器选型耦合 (Coupling) In general terms, the term coupling is defined as a thing that joins together two objects. If we talk about software development, then the term coupling is related to the connection between two modules, i.e. how tight interaction …

剑指 Offer 10- I. 斐波那契数列 (从重叠子问题到备忘录到dp数组迭代解法)

目录题目描述1、暴力递归法的重叠子问题2、备忘录解法3、dp数组迭代算法4、滚动数组优化5、参考链接题目描述 写一个函数&#xff0c;输入 n &#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F…

十、纺织品库存管理系统全部功能展示

一、系统主页面—Form1 系统运行加载页面&#xff0c;主要包含三个功能&#xff0c;①登录、②注册、③退出系统 程序运行图&#xff1a; 登录功能&#xff0c;跳转到登录页面 注册功能&#xff0c;跳转到注册页面 退出系统&#xff0c;程序结束运行 代码如下&#xff1a; …

leetcode 376. 摆动序列 思考分析

目录题目思路分析代码总结题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。少于两个元素的序列也是摆动序列。 例如&#xff0c; [1,7,4,9,2,5] 是一个摆动序列&am…

[EF在VS2010中应用Entity framework与MySQL

在VS2010中应用Entity framework与MySQL 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议本文讲述了在VS2010中使用EF与MySQL的一个简单示例。 工具安装&#xff1a; 1&#xff0c;MySQL MySQL Community Server Connector/NET 6…

十、美化界面

一、背景图片 二、透明化处理 BackColor—web—Transparent 三、数据库建表语句 数据库 USE [fiber_yy] GO /****** Object: Table [dbo].[yy_user_record] Script Date: 06/20/2022 18:54:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADD…

VS 如何修改C++编译标准

第一步&#xff0c;打开项目资源管理器的属性页面 第二步&#xff0c;选择配置属性->C/C>语言->C语言标准 第三步&#xff0c;选择合适的标准&#xff0c;一般来说选最新即可

十一、纺织面料下架功能的实现

一、数据库 数据库仍用yy_textile表&#xff0c;前几篇博文都叙述过这里就不再叙述 在fiber_yy数据库下创建yy_textile表 初始数据库信息 二、页面 admin_undercarriage 三、代码实现 admin_undercarriage using System; using System.IO; using System.Data; using S…

svg和canvas的应用场景分析【转载】

原文地址&#xff1a;http://blogs.msdn.com/b/weizhong/archive/2011/07/16/canvas-svg.aspx 思考什么时候使用Canvas 和SVG wzhong 15 Jul 2011 9:07 PM 0HTML5 Canvas 和 SVG 是 IE9 中引入的两项令人激动的图形功能。上周在拉斯维加斯举办的 MIX11 大会对这两个功能进行了介…