0.3.3 • Published 11 years ago

packflow v0.3.3

Weekly downloads
35
License
-
Repository
github
Last release
11 years ago

一个基于步骤定义的命令行打包工具

packflow是一个用coffeescript开发的打包工具。你可以定义一个包含若干个打包步骤的打包过程定文件(packflow.coffee是一个打包过程定义文件的范例),然后交给packflow去处理。

安装

npm install -g packflow

使用

  1. 在步骤定义文件中定义打包步骤
  2. 在包含步骤定义文件的目录下执行packflow命令
packflow [-m main-step-name] [-w]

在执行packflow命令时,会在当前目录中查找步骤定义文件,然后根据读取到的步骤定义,一步步地执行,最终完成打包过程。

packflow打包过程定义

因为我们通过利用nodejs的require函数在当前目录中查找./packflow模块的方式来读取步骤定义,所以步骤定义文件可以是packflow.json、packflow.js或者packflow.coffee,看你喜欢哪个了。但是在后面的示例中,都会使用coffeescript语法来定义步骤。

packflow定义对象包括以下几个属性:

  1. name: string, 打包项目的名称
  2. main: string, 最先执行的步骤名称,默认为"main"
  3. steps: object, 打包步骤

下面是一个简单的packflow.coffee文件示例:将./src目录中的foo.jsbar.js经过UglifyJS压缩后保存到./release目录中。

module.exports =
  name : "sample"
  main : "build"
  steps : [
    build :
      type : "uglify-js"
      inputPath : "./src"
      outputPath : "./release"
      files : [
      	"foo.js"
        "bar.js"
      ]
  ]

steps

packflow支持以下几种类型的步骤:

uglify-js

使用UglifyJS模块来压缩js文件。

compile-coffee

将coffeescript文件编译成javascript文件。

compile-less

将less文件编译成css文件。

wrap-text

在文本文件的头部和尾部加上指定的内容。可用于在文件头部增加版权、版本等信息,或者导出AMD、CMD模块。

copy-file

复制文件

combine-file

将多个文本文件合并成一个文本文件。可用于将多个js或者多个css文件合并成一个文件,以减少请求数。

sequence

这是一个流程控制类步骤,可以用于依次执行几个步骤。

waterfall

sequence类似,也是用户依次执行几个步骤,不同的是,上一个步骤的输出内容会变成下一个步骤的输入内容。

例如,利用waterfall步骤依次执行combine-filecompile-coffeeuglify-js,就可以将多个.coffee文件合并,然后编译成js并且压缩。

扩展

以上这些类型的步骤都是由src/processors中对应的处理器来处理的,你可以自己写一个步骤处理器来处理你自定义的步骤类型。

或者也可以告诉我你需要什么类型的步骤处理器。

License

MIT

0.3.3

11 years ago

0.3.2

11 years ago

0.3.1

11 years ago

0.3.0

11 years ago

0.2.0

12 years ago

0.1.1

12 years ago

0.1.0

12 years ago

0.0.1

12 years ago