0.2.9 • Published 9 years ago

kmdjs v0.2.9

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

##kmdjs kernel module definition

##What's kmdjs?

kmdjs organizes the project based on namespace tree

kmdjs

##Install

install it via npm:

npm install kmdjs

##Getting start include the file in your html,such as:

<script src="kmd.js" ></script>

kmdjs api has only three methods : kmdjs.config, kmdjs.define and kmdjs.main

config the project

kmdjs.config is used for the whole project configuration, the general configuration is shown below:

kmdjs.config({
   "dependencies": [],
   "mapping":[
       ["util.bom","js/util/bom.js"],
       ["app.Ball","js/ball.js"],
       [ "main", "js/main.js"]
     ],
   "bundleIgnore":[""]
 }).main();

or

kmdjs.config('kmd.json')
     .main(function(bundler){
            alert(bundler);
        });

what does the dependencies prop do ? if you refer the other lib in your page and referencing in the window such as : window.$ or window.jQuery ,

<script src="js/jquery-3.0.0.min.js"></script>
<script src="../../kmd.js"></script>
...
...

then you should write the dependencies prop for the kud bundler.

{
  "dependencies": ["$","jQuery"],
  "mapping": {
    "main": "js/main.js"
  }
}

defnie a module

define can be passed to the two parameters, such as:

kmdjs.define("app.Ball",function(){
    var Ball = function (x, y, r, vx, vy, text) {
        this.x = x;
        this.y = y;
        this.r = r;
        this.d = 2 * r;
        this.vx = vx;
        this.vy = vy;
        this.element = document.createElement("div");
        this.element.innerHTML = text;

        this.element.style.cssText = "text-align:center;position:absolute; -moz-border-radius:" + this.d + "px; border-radius: " + this.d + "px; width: " + this.d + "px; height: " + this.d + "px;background-color:green;line-height:" + this.d + "px;color:white;";
        document.body.appendChild(this.element);

    };

    Ball.prototype.tick= function () {
        this.x += this.vx;
        this.y += this.vy;
        this.element.style.left = this.x + "px";
        this.element.style.top = this.y + "px";
    };

    return Ball;
});

Also the statement dependence, passed three parameters, such as:

kmdjs.define('main',['util.bom','app.Ball'], function() {

    var ball = new Ball(0, 0, 28, 1, -2, 'kmdjs');

    var vp = bom.getViewport();

    setInterval(function () {
        ball.tick();
        (ball.x + ball.r * 2 > vp[2] || ball.x < 0) && (ball.vx *= -1);
        (ball.y + ball.r * 2 > vp[3] || ball.y < 0) && (ball.vy *= -1);
    }, 15);

});

'Ball' and 'bom' can be used directly in your code , because they will be transformed to 'app.Ball' and 'util.bom' by uglifyjs2.

##Bundler using the 'node build' command to bundle the kmdjs project :

node build

the build.js will require kud and kmd.json to bundle your project :

require('kud')(require('./kmd.json'),function(bundle){
    //you can get bundle here
    console.log(bundle);
    console.log("------------------- end of kud -------------------")
});

you can also get the bundle string in browser from main callback method such as blow code:

kmdjs.main(function(bundle){
    alert(bundle)
});

##Gulp kud can work well with gulp such as blow code:

var gulp = require('gulp'),
    kud = require('kud'),
    runSequence = require('run-sequence');

var config = require('./kmd.json');

gulp.task('kud',function(callback) {
    kud(config,function(bundle,min_bundle){
        console.log(bundle);
        console.log(min_bundle);
        callback();
    });
});

gulp.task('otherTask',function() {
    console.log('otherTask');
});

gulp.task('default',  function (taskDone) {
    runSequence(
        'kud',
        'otherTask',
        taskDone
    );
});

##License

kmdjs is released under the MIT License.

0.2.9

9 years ago

0.2.8

9 years ago

0.2.7

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago