注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

关于Dojo Build(压缩CSS)  

2013-11-04 21:44:54|  分类: Web |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在Dojo Build中的profile文件中我们可以定义layer去压缩我们需要的JS,但是提到CSS,Dojo Build却没有这样的功能,那么如何将我们所需要的CSS文件压缩到一个文件呢?

之前想着使用
yuicompressor,对CSS文件进行压缩,结果因为图片路径的不同而无从下手,在我们压缩css的时候,css引入的图片路径修改成了难题。所以不得不放弃使用yuicompressor。

那么使用Dojo Build自己的css 压缩功能呢?
其实很简单,我们可以使用@import方式将css文件引入我们的项目中CSS文件。

例如将
上一篇文章提到的grid所用的css压缩到一起。
写一个myGrid.css文件

@import "../../dojo/resources/dojo.css";
@import "../../dijit/themes/claro/claro.css";
@import "../../dojox/grid/enhanced/resources/claro/EnhancedGrid.css";
@import "../../dojox/grid/enhanced/resources/EnhancedGrid_rtl.css";

看我们src下的目录结构

[root@hjzheng dojo]# tree -L 1 dojo-release-1.9.1-src
dojo-release-1.9.1-src
├── dijit
├── dojo
├── dojox
├── myGrid

|--- css

|--- myGrid.css

├── mygrid.profile.js
└── util

看看我们的mygrid.profile.js

var profile = (function(){
return {
basePath: "../dojo-release-1.9.1-src",
releaseDir: "../js/dojo",
action: "clean,release",
cssOptimize: "comments",
mini: true,
stripConsole: "all",
optimize: 'shrinksafe',
layerOptimize: 'shrinksafe',
selectorEngine: "acme",

staticHasFeatures: {
'dojo-trace-api': 0,
'dojo-log-api': 0,
'dojo-publish-privates': 0,
'dojo-sync-loader': 0,
'dojo-xhr-factory': 0,
'dojo-test-sniff': 0
},

packages:[{
name: "dojo",
location: "dojo"
},{
name: "dijit",
location: "dijit"
},{
name: "dojox",
location: "dojox"
},{
},{
name: "myGrid",
location: "myGrid"
}],

layers: {
"myGrid/js/myGrid": {
include: [ "dojo/json","dojo/data/ObjectStore",

"dojox/grid/enhanced/plugins/Pagination",

"dojox/grid/enhanced/plugins/Filter",

"dojox/grid/EnhancedGrid",

"dojo/store/JsonRest", "dojo/domReady" ],
customBase: true,
boot: true
}

}
};
})();

执行build.sh --profile ./mygrid.profile.js, 查看执行结果:

[root@hjzheng dojo]# tree

build-report.txt

dijit/
dojo/

dojox/

myGrid/
├── css
│   └── myGrid.css
└── js
├── myGrid.js
├── myGrid.js.uncompressed.js
└── nls

这时候查看myGrid.css发现确实压缩了,并且图片路径也是正确的,指向build后的dojo, dojox包里的内容。

剩下的问题就是如何将dojo,dojox中的图片提出来,放入myGrid目录
  评论这张
 
阅读(830)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017