我正在为Web应用程序迭代创建新的JavaScript体系结构。以前的迭代有很多内联代码,分散的包含,没有用于.js文件的目录结构,并且所有内容都位于全局名称空间中。我的目标是:保持脚本包含在页脚中,将所有内容保存在应用程序名称空间/对象中,将组织添加到.js文件并将所有应用程序特定文件缩小到一个包中.js如何构建Javascript体系结构以补充PHP MVC Web应用程序?
我正在尝试利用基于尼古拉斯Zakas模块化方法:“可扩展的JavaScript应用程序体系结构” http://www.yuiblog.com/blog/2009/09/17/video-bayjax-sept-09/
目前,该网站structred像这样
/app
/models
/views
/home
/auth
/meta
about.tpl
contact.tpl
privacy.tpl
/controllers
home.php
auth.php
meta.php
/public
/js
core.js
/modules
module files here
/jquery
jqueryplugins here
/controllers
home.js
auth.js
meta.js
控制器具有对应于我们的URL路由和视图渲染方法。例如http://localhost/meta/contact
会在“元”控制器上调用“联系”动作并呈现元/联系人模板。
我打算围绕一个初始化调用应用全局对象JS的体系结构通过它的控制器和控制方法作为参数,即
localwebapp.init(controller, method);
在设计这点我很努力继承和模块实现。有些模块是全局性的,可以在整个站点中使用,有些模块将用于特定的控制器,有些模块仅用于控制器操作。 模块是独立的,不会相互通信,他们需要分配到一个“沙箱”,他们将检查事件触发器
我想我会需要沙箱和模块类。控制器脚本基本上是分配给沙箱并初始化的几行模块。
让我知道如果我在这里重新发明轮子。任何方向都非常感谢。我看过JavaScript MVC框架的工作原理就像JavaScriptMVC,但它看起来不是我所需要的
为什么你不认为客户端MVC框架不起作用?我听起来对我来说很有用,而且我仅使用它获得了很好的体验(包括客户端的JavaScript源代码和服务器端生成的数据)。 – Daff 2009-10-19 06:40:46
我从JavaScriptMVC文档中得到了一个印象,那就是该框架是为重度UI驱动的网站设计的,并且照顾了您在JavaScript中使用传统php MVC设置所做的一切。由于我们已经有了php框架,并且从最后一次迭代中移植了很多功能,所以我不想将所有内容都移到javascript中。 – kevzettler 2009-10-19 15:47:22