Upgrade to Pro — share decks privately, control downloads, hide ads and more …

About HRT and TPM

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

About HRT and TPM

Avatar for luolonghao

luolonghao

May 24, 2013
Tweet

More Decks by luolonghao

Other Decks in Technology

Transcript

  1. 跳转规则(hrt-config.js) exports.map = [ // 代理文件 ['http://js.tudouui.com/v3/dist/js/g.js', 'D:\\static\\v3\\src\\js\\g.js’], // 代理目录

    ['http://js.tudouui.com/v3/dist/js', 'D:\\static\\v3\\src\\js‘], // 指向到其它URL ['http://js.tudouui.com/v3/dist/js', 'http://jstest.tudouui.com/v3/dist/js‘], ];
  2. 预处理(hrt-config.js) exports.before = function(url) { // 移除版本号 return url.replace(/([^?]+)_\d+(\.(?:js|css))/, '$1$2');

    }; // 返回undefined时,跳过此URL。 exports.before = function(url) { // Bugfix:Chrome的LESS调试插件请求less文件,所以less文件不能跳转 if (/\.less$/.test(url)) { return; } };
  3. 控制返回内容(hrt-config.js) exports.merge = function(path, callback) { // 所有JS头部添加注释 if (/\.js$/.test(path))

    { var content = Util.readFileSync(path, 'utf-8'); return callback('application/javascript', '/* test /*\n' + content); } // 其它请求 var contentType = require('mime').lookup(path); var buffer = this.util.readFileSync(path); return callback(contentType, buffer); };
  4. 插件(plugins/tudou.js) exports.before = function(url) { var Tudou = this.util.loadPlugin('tudou'); //

    移除版本号 url = Tudou.stripVersionInfo(url); return url; }; 函数列表: 1. Tudou.stripVersionInfo(url):移除版本号 2. Tudou.cssToLess(url) :CSS扩展名改成LESS 3. Tudou.merge(path, callback):合并TUI3本地文件 4. Tudou.mergeTui2(path, callback):合并TUI2本地文件
  5. 构建文件(打包、压缩) # 构建JS $ ytpm src/js/g.js $ ytpm src/js/page #

    构建LESS $ ytpm src/css/g.less $ ytpm src/css/page # 复制图片、HTML $ ytpm src/img/g/v2.png $ ytpm src/embed # 批量构建 $ ytpm project/TUILIB-65.txt
  6. 压缩代码 $ ytpm min [PATH] $ ytpm min build/js/g.js $

    ytpm min build/js/page $ ytpm min build/css/g.css $ ytpm min build/css/page
  7. 获取文件列表 $ ytpm list [REVISION] 打开新建邮件窗口,列出指定版本之后新增/ 修改过的文件和最新版本号。 $ ytpm list

    29885 $ ytpm list [PATH] 打开新建邮件窗口,列出project文件里的文 件和最新版本号。 $ ytpm list project/TUILIB-65.txt