假如我有一个es.js 这个库一开始是个空对象,我让它支持commonjs规范,封装了一下。
然后我希望自己慢慢写插件 比如 es.Klass.js es.validate.js,
这些插件也想用commonjs规范封装,但是插件和插件之间有可能还有复用关系,应该怎么办呢?
就好比es.validate会用到es.Klass
然后我写代码的时候必须是
var es = require('es');
var Klass = require('es.Klass');
var Validate = require('es.Validate');
//上面三行代码该死的顺序还不能颠倒
new Validate();
我希望可以直接写成
var Validate = require('es.Validate');
new Validate();
请问如何实现代码的封装????
无语。你这插件明明用的AMD的规范,为什么标题要说是commonjs, - -!
借助requirejs,声明依赖关系就行了。如果两个模块引入顺序不同会造成不同的结果,那么一般来说是依赖关系造成的。
比如我要编写一个叫做demo.js的插件,demo1.js与demo2.js都是它的模块
也可以在代码中这样写