http://lifesinger.wordpress.com/2011/08/01/best-practice-of-version-management/
SeaJS 里版本号和时间戳管理的最佳实践
用 seajs 组织项目,上线后,经常需要更新特定文件或所有文件的时间戳,以清空浏览器缓存。最简单的方式是:
define(function(require, exports) { var a = require('path/to/a.js?20110801'); });
这种方式很简单直观,弊端也很明显:文件一多,时间戳会分散在各个文件,维护起来不方便。
第二种方式是利用 alias:
seajs.config({ alias: { 'jquery': 'jquery/1.6.2/jquery', 'backbone': 'backbone/0.5.1/backbone', 'a': 'a.js?20110801', 'b': 'b.js?20110801' } });
这种方式用来维护 jquery 等类库模块的版本号是非常方便的。但用来加时间戳,文件一多时,依旧不方便。
第三种方式是利用 map:
seajs.config({ 'map': [ [ /^(.*\.(?:css|js))(.*)$/i, '$1?20110801' ] ] });
这种方式,用来批量更新时间戳是最方便的。
最佳实践
假设文件存放路径如下:
http://example.com/libs/seajs/1.0.0/sea.js http://example.com/libs/jquery/1.6.2/jquery.js http://example.com/libs/backbone/0.5.1/backbone.js http://example.com/app/xxx/a.js http://example.com/app/xxx/b.js http://example.com/app/xxx/c.css
为了方便版本和时间戳管理,建议配置如下:
config.js:
seajs.config({ alias: { 'jquery': 'jquery/1.6.2/jquery', 'backbone': 'backbone/0.5.1/backbone' }, map: [ [ /^(.*\/app\/xxx\/.*\.(?:css|js))(?:.*)$/i, '$1?20110802' ] ] });
这样配置好后,在具体模块代码里,就不再需要考虑时间戳了:
define(function(require, exports) { var $ = require('jquery'); var BB = require('backbone'); var a = require('./a'); var b = require('./b'); require('./c.css'); // ... });
相关推荐
SeaJS Web 端的js 模块加载器
seajs-2.3.0.zip
knockout seajs .net中实战应用
自己在公司需要使用seajs,就学习了seajs写了个手册和demo,欢迎阅读。
seajs-2.2.0源码
seajs源码
seajs下载,包含自己总结的用法和规范
seajs-5分钟上手。。。。。。...................................................。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
seajs-css.js 用于seajs加载css文件,上课用的课件资源,大家有需要的可以随时下载。版本是非常好用的,作为一个学习模块化我们必须的知识插件
seajs入门完整案例,适合新手学习! seajs入门完整案例,适合新手学习!
seajs源文件以及一个帮助文档,文档介绍比较详细
开始学习seajs,模块化的js思想。SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现...
Bootstrap和seajs结合的分页器,绝对好用嗷
相关seajs简介,插件制作及js源码插件、jquery插件转换seajs插件的方法等
seajs3.0 源码注释,只是本人阅读源码的一些心得及简单注释。 或者直接查看 博文 查看模块加载过程的流程解释。
seaJS框架简介和完整例子,在浏览器中打开index.html 即可,欢迎下载...
NULL 博文链接:https://bijian1013.iteye.com/blog/2259862
主要是做了一个基于node环境中,seajs的配置以及一些实例和利用grunt进行资源的打包压缩合并的构建
前端开源库-grunt-react-seajsgrunt react seajs,一个将react组件转换为seajs模块的grunt插件
用于seajs的预加载使用,有需要的小伙伴可以免费下载使用。方便大家多多分享免费的资源,有问题随时给我们留言。希望能帮助大家解决更多的问题