0

我正在构建一个具有多个离散客户端应用程序的大型应用程序。我使用 Backbone.js 作为结构,使用 Require.js 来管理依赖项。

以下是我想对事物建模的方式,以便我可以为任何这些应用程序提供通用功能:

-- libs
-- models
-- collections
-- templates
-- views
-- apps
  -- app_one
    -- libs
    -- models
    -- collections
    -- templates
    -- views    
  -- app_two
    -- libs
    -- models
    -- collections
    -- templates
    -- views
main.js

我很想知道是否有人做过类似的事情,并且我没有考虑到这个设计是否有任何明显的缺陷。

我看到的主要好处是我可以在结构的根目录中对公共库、模型、集合、模板和视图进行分组,并且任何子应用程序都可以根据需要导入它们或在它们自己的嵌套中定义应用程序特定的资产结构。

4

2 回答 2

1

你甚至不需要用 requirejs 嵌套任何东西。您的主库可以位于其自己的文件夹中,并且不同的应用程序也可以在硬盘驱动器的任何位置拥有自己的文件夹。唯一的问题在于您使用 requirejs 调用所有依赖项的方式,以及是否使用 r.js 将不同的应用程序捆绑在一个文件中。

于 2012-11-29T16:13:55.337 回答
0

这是有道理的,我认为大多数人都是这样做的。

我通常与此不同,因为我不分离模型/集合和视图。相反,我有一个“模块”目录。一个模块通常由具有一个或多个模型、相关集合和视图的单个文件组成。

另请注意,您最终可能会在您的 lib 文件夹中拥有多个版本的 jQuery,因为您可能有时间更新一个应用程序而不是另一个应用程序。

尽管 require.js 确实使您的结构无关紧要,但保持代码井井有条仍然是个好主意。

于 2012-11-29T19:50:31.233 回答