简单写了个在前端也像nodejs一样用require
发布于 11 年前 作者 lb1104 5292 次浏览 最后一次编辑是 8 年前

127.0.0.1/目录下面

HMVC,前端页面仿node.js 的require写法.

require('sms').open();
require('msg').open();
require('sms/send').open();
require('sms/send').send();
require('sms').temparr;

https://github.com/lb1104/require

10 回复

只是前端一些写法,前端主要是操作DOM,并不需要与nodejs进行任何关联.
服务端还是php的HMVC独立各个模块,nodejs只是做消息转发.
这样也把各个模块的js也独立起来.通过require去调用. 开发时,不需要每次都去刷新页面,

不同的,node.js里的require是同步的,也就是说几个require语句是顺序执行的

这个require是同步读取js文件,读完之后才执行后面的

这是用Ajax阻塞了下面的操作,看似不错,如果一个js返回的特别慢,这个性能可能就是问题了。 还有一个问题就是跨域,如果用getScript 就不能阻塞请求了。

这个只是我在一个内部项目中使用,仅内网,也只一台服务器.所以不考虑那么多,
跨越目前没有什么好的方法能同步顺序读取,只能异步.
真的要考虑那些,直接用那些现成的requestjs,seajs之类的了.

前端的跟后台最大区别就在这里,显然,ajax同步是不可取的。 如果想模拟这种写法,只能参考seaJS了 包装到 defined(function(require){ var sms = require(‘sms’); });

(function (module) { module.exports = function (a, b) { return a + b; }

if (typeof window !== 'undefined') {
    this.window = module.exports;
}

})(typeof module === ‘undefined’ ? {exports: {}} : module);

我只是让require在前端js变成全局性的 呵呵

回到顶部