Feb 2014, not used, not maintained
Does RequireJS seem to complicated? You don't like that Browserify requires compilation while developing?
This is a library to implement simple modules.
- Function params used to define dependencies
It won't offer:
- Async loading
- Loading third party libraries
List all your scripts on your index.html
.
var ns = necessitate.ns("your-app");
ns.contant("FOO", {stuff: 5});
ns.module("util", function() {});
ns.module("dep", ["util", function(u) {
// Annotated deps
}]);
ns.module("404", function() {});
ns.module("app", function(dep) {
// 404 can't be used as function param but you could do following (though it would be better to name module differently):
var error404 = ns.require("404");
// Deps parsed from function parameters
return {start: function() {}};
});
// Start app when dom is ready
$(document).ready(function() {
ns.require("app").start();
});
NOTE: This is only to optimize app for distribution.
Use grunt-usemin to generate concat etc. configuration. If your using uglifyjs, be sure to include following options or minifed code wont work:
{
uglify: {
options: {
mangle: false,
compress: {
unused: false,
},
},
},
}
- Tests
- Investigate performance difference between annotad and non-annotated modules.
- ngmin like precompiler to annotate modules?
- Proper example project