Javascript Backbonejs:组织路由
如果路由对象中有太多的路由,比如说100条,你如何组织它。你只是把它放在一个文件或对象中吗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
谢谢。我想这里没有对错的答案。绝对正确的是,你不可能拥有一个拥有50多条路由的路由器……这是一个可维护性的噩梦 相反,我更喜欢将我的应用程序划分为子应用程序或模块(根据需要调用它们),每个子应用程序或模块都有明确的目的和职责。因此,在一个假设的订单管理系统中,我可能会
- 订单管理应用程序
- 个人应用程序
- 路由器.js
- app.js
- 订单应用程序
- 路由器.js
- app.js
- globalrouter.js
- globalapp.js
- 个人应用程序
也许这是一个很好的起点。我认为这里没有正确或错误的答案。绝对正确的是,你不可能拥有一个拥有50多条路由的路由器……这是一个可维护性的噩梦 相反,我更喜欢将我的应用程序划分为子应用程序或模块(根据需要调用它们),每个子应用程序或模块都有明确的目的和职责。因此,在一个假设的订单管理系统中,我可能会
- 订单管理应用程序
- 个人应用程序
- 路由器.js
- app.js
- 订单应用程序
- 路由器.js
- app.js
- globalrouter.js
- globalapp.js
- 个人应用程序
也许是一个很好的起点。您可以将路由器分解为多个文件。如何分解它取决于您的用例,在我的应用程序中,我们按模块进行分解 如何定义模块取决于您的应用程序,但一般的经验法则是将功能分组到一个“功能”或主题下 例如,假设您的应用程序是一个基本的“公司”应用程序(使用Backbone.js是一个坏例子,但让我们保持简单)。该网站有两个部分:“关于我们”、“产品”、“客户”、“支持”、“博客”、“职业”。在每个部分中,它有两个级别的子页面(例如,在产品中,您可以有一个产品列表,在每个产品中,您可以深入查看并对产品、如何购买产品等进行更详细的查看)
每个部分,在例子中,我们可以把它们看作模块。基于此,您可以将包含所有路由的单个路由器拆分为不同的路由器。(当然,它们可以位于不同的文件中!)
启动应用程序时,您只需启动所有应用程序:$(function() {
new MainRouter();
new ProductRouter();
});
通过这样做,您还可以将代码分解为不同的模块,甚至可以将每个模块的视图、模板和模型分开。您可以将路由器分解为多个文件。如何分解它取决于您的用例,在我的应用程序中,我们按模块进行分解 如何定义模块取决于您的应用程序,但一般的经验法则是将功能分组到一个“功能”或主题下 例如,假设您的应用程序是一个基本的“公司”应用程序(使用Backbone.js是一个坏例子,但让我们保持简单)。该网站有两个部分:“关于我们”、“产品”、“客户”、“支持”、“博客”、“职业”。在每个部分中,它有两个级别的子页面(例如,在产品中,您可以有一个产品列表,在每个产品中,您可以深入查看并对产品、如何购买产品等进行更详细的查看)
每个部分,在例子中,我们可以把它们看作模块。基于此,您可以将包含所有路由的单个路由器拆分为不同的路由器。(当然,它们可以位于不同的文件中!)
启动应用程序时,您只需启动所有应用程序:$(function() {
new MainRouter();
new ProductRouter();
});
通过这样做,您还可以将代码分解为不同的模块,甚至可以将每个模块的视图、模板和模型分开。您确定您真的需要100个吗??听起来好像路线的定义有问题。也许您可以定义模板路由,从而减少您拥有的路由数量:这只是一个示例,请注意,这些路由是静态路由和动态路由的组合,好的,也许让我们将其减少到50。那你怎么组织你的路线呢?现在我想我已经有20多条路由了(动态路由和静态路由),仅仅把它放在一个文件/路由对象中看起来很混乱。你可以有任意多个路由器,如何组织它们取决于你。你确定你真的需要100个吗??听起来好像路线的定义有问题。也许您可以定义模板路由,从而减少现有路由的数量:这只是一个示例,请注意,这些路由是静态路由和动态路由的组合,