node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

fbuild

FBuild - 自动化构建工具

  • 支持按目录打包
  • 支持less自动编译
  • html模板编译成 AMD 规则的包
  • 加入雪碧图生成

快速开始

安装并初始化目录结构

sudo npm install fbuild -g
cd [目录]
fbuild init 

初始化一个包 'hello'

fbuild init.pack hello
初始化 1.0.2 的包 'hello'
fbuild init.pack hello 1.0.2
生成 'hello' 包文档
fbuild build.doc hello 
# 生成1.0.2文档
fbuild build.doc hello 1.0.2 

开启自动构建监视

fbuild

单独构建雪碧图

cd [png目录]
fbuild sp out=../img less=../less

fbuild 目录结构是这样的

|- static
  |- js
    |- fbuild.json #fbuild 的配置文件
    |- config.js #根据构建的内容,自动生成配置
    |- config.dev.js #根据构建的内容,自动生成配置, dev 环境
    |- pack
      |- hello
        |- dist
          |- hello.all.js #自动合并
          |- hello.min.xxxxxx.js #压缩并根据内容hash文件名
        |- src
          |- index.js
          |- word.js
 

目录结构约定

模板约定

define('tpl/*') 为保留前缀,所有自动生成的模板, 使用该规则,生成 AMD 规则的model

|- [static]
  |- tpl #模板根目录
    |- pack #模板所在的包,对应 defind('tpl/pack')
      |- index.html
      |- test.html

这时,调用 tpl/pack/test.html 的内容,只需执行

require(['tpl/pack'], function(pack){
    console.log(pack['test.html']);
});

less 约定

|- [static]
  |- style
    |- less #less源文件存放目录
    |- css #编译后的文件存放目录

配置文件, 默认调用的包版本

!!默认!! 最后编辑那个版本,就用那个版本

如需要指定版本,请编辑 fbuild.json

{
    "//": "指定包的版本,注:如果没有指定,修改那个版本,就使用那个版本",
    "packVersion": {
        "packName": "1.0.4"
    }
 
}

升级fbuild

sudo npm update -g fbuild