grunt-tap

Tmall assets build tool.

Grunt-Tap

天猫前端发布工具集,属于MAP项目的一部分。

npm install -g grunt-cli

ps:可能需要sudo权限

首先在你的项目根目录下创建一个名为package.json的文件,并且设置name、version和devDependencies等字段,例如:

{
  "name": "your-project-name",
  "version": "1.0.0",
  "devDependencies": {
    "grunt": "~0.4.2"
  }
}

然后在项目根目录下执行

npm install --save-dev grunt

同样在项目根目录下执行

npm install --save-dev grunt-tap

在项目根目录下创建Gruntfile.js,进行插件加载和配置

module.exports = function(grunt){

    //读取package.json
    var pkg = require('./package.json');                
        
    //配置任务
    grunt.initConfig({
        tap:{
            buildcfg: {
                options: {
                    name: pkg.name, //包名
                    version: pkg.version //版本
                },
                src: ['src/**/*.js']
            },
            build: {
                options: {
                    compress: true
                }
            }
        }
    });
    
    //加载grunt-tap插件
    grunt.loadNpmTasks('grunt-tap');
            
    //注册一个默认任务
    grunt.registerTask('default', ['tap']);        
}

在项目根目录下执行

grunt

这样就完成了seed文件生成、文件压缩等构建工作。

更多grunt使用手册请参考Grunt官方文档

buildcfg任务用于生成包的配置文件,配置文件用于让脚本在use的时候告诉kissy应当去加载哪个模块,配置项:

  • name : 包名,模块的前缀,例如mui、global、malldetail,建议使用仓库名
  • version : 发布版本号,建议从package.json中读取
  • baseurl : 包的url前缀,默认是http://g.tbcdn.cn/tm/

build任务用于进行ascii化、文件压缩等源码处理工作,配置项:

  • compress: 是否进行压缩,默认为true
  1. 通过git clonegit branch在本地创建一个本仓库的分支
  2. 修改tasks/tap.js文件,开发新功能
  3. 完成新功能的开发和测试
  4. git push到远程分支上
  5. 提交merge request.