Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbonejs:组织路由_Javascript_Backbone.js_Code Organization_Backbone Routing - Fatal编程技术网

Javascript Backbonejs:组织路由

Javascript Backbonejs:组织路由,javascript,backbone.js,code-organization,backbone-routing,Javascript,Backbone.js,Code Organization,Backbone Routing,如果路由对象中有太多的路由,比如说100条,你如何组织它。你只是把它放在一个文件或对象中吗 谢谢。我想这里没有对错的答案。绝对正确的是,你不可能拥有一个拥有50多条路由的路由器……这是一个可维护性的噩梦 相反,我更喜欢将我的应用程序划分为子应用程序或模块(根据需要调用它们),每个子应用程序或模块都有明确的目的和职责。因此,在一个假设的订单管理系统中,我可能会 订单管理应用程序 个人应用程序 路由器.js app.js 订单应用程序 路由器.js app.js globalrou

如果路由对象中有太多的路由,比如说100条,你如何组织它。你只是把它放在一个文件或对象中吗


谢谢。

我想这里没有对错的答案。绝对正确的是,你不可能拥有一个拥有50多条路由的路由器……这是一个可维护性的噩梦

相反,我更喜欢将我的应用程序划分为子应用程序或模块(根据需要调用它们),每个子应用程序或模块都有明确的目的和职责。因此,在一个假设的订单管理系统中,我可能会

  • 订单管理应用程序
    • 个人应用程序
      • 路由器.js
      • app.js
    • 订单应用程序
      • 路由器.js
      • app.js
    • globalrouter.js
    • globalapp.js
这里的关键是永远不要创建一个巨大的应用程序/整体,而是创建许多小应用程序,这些小应用程序可以组合在一起形成整个应用程序(通过它们之间的事件进行通信)。也就是说,在上面的例子中,“person”和“order”应用程序都有自己的路由器,它们只保存与它们相关的路由。“全局”应用程序形成粘合剂,将所有单个应用程序固定在一起,比如有应用程序菜单,也可能有一些通用路由,而不是紧挨着特定模块/子应用程序


也许这是一个很好的起点。

我认为这里没有正确或错误的答案。绝对正确的是,你不可能拥有一个拥有50多条路由的路由器……这是一个可维护性的噩梦

相反,我更喜欢将我的应用程序划分为子应用程序或模块(根据需要调用它们),每个子应用程序或模块都有明确的目的和职责。因此,在一个假设的订单管理系统中,我可能会

  • 订单管理应用程序
    • 个人应用程序
      • 路由器.js
      • app.js
    • 订单应用程序
      • 路由器.js
      • app.js
    • globalrouter.js
    • globalapp.js
这里的关键是永远不要创建一个巨大的应用程序/整体,而是创建许多小应用程序,这些小应用程序可以组合在一起形成整个应用程序(通过它们之间的事件进行通信)。也就是说,在上面的例子中,“person”和“order”应用程序都有自己的路由器,它们只保存与它们相关的路由。“全局”应用程序形成粘合剂,将所有单个应用程序固定在一起,比如有应用程序菜单,也可能有一些通用路由,而不是紧挨着特定模块/子应用程序


也许是一个很好的起点。

您可以将路由器分解为多个文件。如何分解它取决于您的用例,在我的应用程序中,我们按模块进行分解

如何定义模块取决于您的应用程序,但一般的经验法则是将功能分组到一个“功能”或主题下

例如,假设您的应用程序是一个基本的“公司”应用程序(使用Backbone.js是一个坏例子,但让我们保持简单)。该网站有两个部分:“关于我们”、“产品”、“客户”、“支持”、“博客”、“职业”。在每个部分中,它有两个级别的子页面(例如,在产品中,您可以有一个产品列表,在每个产品中,您可以深入查看并对产品、如何购买产品等进行更详细的查看)

每个部分,在例子中,我们可以把它们看作模块。基于此,您可以将包含所有路由的单个路由器拆分为不同的路由器。(当然,它们可以位于不同的文件中!)

启动应用程序时,您只需启动所有应用程序:

$(function() {
  new MainRouter();
  new ProductRouter();
});

通过这样做,您还可以将代码分解为不同的模块,甚至可以将每个模块的视图、模板和模型分开。

您可以将路由器分解为多个文件。如何分解它取决于您的用例,在我的应用程序中,我们按模块进行分解

如何定义模块取决于您的应用程序,但一般的经验法则是将功能分组到一个“功能”或主题下

例如,假设您的应用程序是一个基本的“公司”应用程序(使用Backbone.js是一个坏例子,但让我们保持简单)。该网站有两个部分:“关于我们”、“产品”、“客户”、“支持”、“博客”、“职业”。在每个部分中,它有两个级别的子页面(例如,在产品中,您可以有一个产品列表,在每个产品中,您可以深入查看并对产品、如何购买产品等进行更详细的查看)

每个部分,在例子中,我们可以把它们看作模块。基于此,您可以将包含所有路由的单个路由器拆分为不同的路由器。(当然,它们可以位于不同的文件中!)

启动应用程序时,您只需启动所有应用程序:

$(function() {
  new MainRouter();
  new ProductRouter();
});

通过这样做,您还可以将代码分解为不同的模块,甚至可以将每个模块的视图、模板和模型分开。

您确定您真的需要100个吗??听起来好像路线的定义有问题。也许您可以定义模板路由,从而减少您拥有的路由数量:这只是一个示例,请注意,这些路由是静态路由和动态路由的组合,好的,也许让我们将其减少到50。那你怎么组织你的路线呢?现在我想我已经有20多条路由了(动态路由和静态路由),仅仅把它放在一个文件/路由对象中看起来很混乱。你可以有任意多个路由器,如何组织它们取决于你。你确定你真的需要100个吗??听起来好像路线的定义有问题。也许您可以定义模板路由,从而减少现有路由的数量:这只是一个示例,请注意,这些路由是静态路由和动态路由的组合,