Skip to content

Q-Modulare is a Module loader for AMD & SystemJS Libraries <br> support Assemly structure & Reflection & Self defence TECH & other thechnics

Notifications You must be signed in to change notification settings

QsCompany/Q-Modulare

Repository files navigation

Q-Modulare

اكبر منصة برمجية في العالم العربي و إفريقيا

N|Solid

QLoader is a module loader

  • AMD modules.
  • SystemJS modules.

Features!

  • Support native Plugins
    • Json (parser)
    • Template (Template handler)
    • style (Css handler)
    • Folder (Structure)
    • xml (not implemented yet)
    • image (not implemented yet)
    • library
  • extension Plugins
  • Assemblies (like dll architecture)
  • Dispatcher (Task Synchronizer)
  • Self Access Security (Self defense TECH)
  • type Refection
  • Library Isolation Tech

QLoader is a lightweight module loader very optimized for speed and memory. I hope to forke me and send me any bugs at Ammi.said@outlook.com. site [http://www.QCompany.dz][df1]

Installation

QLoader doesn't requires any specification it's run on any browser

$ npm i @qcompany/qloader
$ node app

Implementation

  • in your html under head tag insert
<script srt="<path>/QLoader.min.js" entry-point='<pathOfmodule-to-load>' ></script>

Finaly

  • LET QLOADER WORK YOUR WORK
  • Add GO TO OTHERSTUFS

example

create js file in /f1/lib1.js

define('lib1',['exports'],function(exports){
  exports.namespace={
    classA:function(){
      this.WordA="Hello";
      this.Word2="World";
      this.toString=function(){return this.WordA+" "+this.Word2;};
      return this;
    }
  };
});
define('mod1',[],function(){
  exports.Description="I am a module mod1 I am from library called lib1 ";
});

create js file in /mod1.js

define('mod1',['exports','lib:lib|./f1/lib1','lib/mod1'],function(exports,lib1,mod1){
  exports.obj={
    getHelloWorld:function(){return new lib1.entryPoint.namespace.classA().toString();},
    getMod1Description:function(){return mod1.Description;}
  };
});

create js file in /f1/f2/app.js

  //suggestion :<root>= http://localhost/
  
define("adminFolder/app",["require","exports","define","context","../../mod1"],
    function(require,exports,define,context,'mod'){
        //note: require: for get modules
        //      exports: is those things you want to expose to assemply
        //      define:  to register a new module
        //      context: contains usefull function for type reflection
        var StringContructor=context.GetType('String'); // result: String Constructor;
        var ClassAContructor=context.GetType('namespace.classA'); // result: classA constructor from lib1.js
        var parentFolder=context.GetPath('./../') // result: :string "http://localhost/f1/";
        var myFolder=context.GetPath('./') // result: :string "http://localhost/f1/f2/"; 
        var root=context.GetPath('/') // result: :string "http://localhost/";
        alert(mod1.getHelloWorld());
        alert(mod1.getMod1Description());
        //              and more .....
    }

License

DzLicenceForScientist

Free Software, Hell Yeah!

About

Q-Modulare is a Module loader for AMD & SystemJS Libraries <br> support Assemly structure & Reflection & Self defence TECH & other thechnics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published