KPC
Build a KISSY package, for KISSY 1.3+.
Features
- Simple
- KISSY 1.3+
- Online combo only
- Support CJS Style
- Support Module Name Flatten
- Support KISSY.add auto generate for no-kissy module
Installation
This module is installed via npm:
$ npm install node-kpc
API
kpc.build(options[, files])
- options.name, String, Name of package, required
- options.path, String, Path of package, required
- options.flatten, Boolean, false, 是否压缩模块名, optional
- files Array|String, Files to compile, optional
kpc.compile(options[, files])
- options.name, String, Name of package, required
- options.path, String, Path of package, required
- options.flatten, Boolean, false, 是否压缩模块名, optional
- files Array|String, Files to compile, optional
- Return Object
kpc.generateDepFile(modules);
- modules Object, the module object compiled
- return String
Example Usage
Case1. Build all file in a Package
var kpc = ;// build a packagekpc;
Before | After |
---|---|
sample/src ├── app │ ├── cjs-full.js │ ├── cjs.js │ ├── fac-config.js │ ├── name-fac-config.js │ ├── no-kissy.js │ ├── object.js │ └── string.js └── pages └── home ├── index.js └── mod.js |
sample/build ├── app │ ├── cjs-full.js │ ├── cjs.js │ ├── fac-config.js │ ├── name-fac-config.js │ ├── no-kissy.js │ ├── object.js │ └── string.js ├── map.js └── pages └── home ├── index.js └── mod.js |
Case2. Specify Files to build
var kpc = ;// build a packagekpc;
After build:
src | dest |
---|---|
sample/src ├── app │ ├── cjs-full.js │ ├── cjs.js │ ├── fac-config.js │ ├── name-fac-config.js │ ├── no-kissy.js │ ├── object.js │ └── string.js └── pages └── home ├── index.js └── mod.js |
sample/build ├── app │ ├── cjs-full.js │ ├── cjs.js │ ├── fac-config.js │ ├── name-fac-config.js │ ├── no-kissy.js │ ├── object.js │ └── string.js └─ map.js |
Case3. Compile a package (all file in package path)
var kpc = ; var pkg = kpc; console; ``` the pkg look like this ```json "files": "srcCode": "/**\n * @fi..." "isKISSY": true "modules": "name": "xcake/app/cjs" "requires": "node" "../components/header/" "./mod/" "./example.css" "genCode": "/**\n * @fi..." "filename": "app/cjs.js" "srcFile": "sample/src/app/cjs.js" "ignoredFiles": "modules": "xcake/app/cjs": "requires": "node" "../components/header/" "./mod/" "./example.css" ``` #### Case5. Specify files to compile ````jsvar kpc = require('node-kpc'); var pkg = kpc.compile({ name: 'xcake', path: 'sample/src'}, ['sample/src/app/*']); console.log(pkg); ```