我的backbone.js项目是否需要文件上的组件,或者这只是一种约定

Does my backbone.js project require component on a file or is that just a convention?

本文关键字:或者 约定 一种 组件 是否 项目 js backbone 文件 我的      更新时间:2023-09-26

我继承了一个backbone.js项目。该项目的惯例似乎是将每个模型、视图和控制器放在自己的文件中。

当我看这篇教程(hello-backbone.js)时,它们使用了将控制器和视图都放在一个文件中的约定。

现在我对JavaScript的感觉是,无论它在哪里,它都会执行读者和评估者面前的任何东西

我的问题是:我的backbone.js项目是否需要文件上的组件,或者这只是一个约定

否,Backbone不介意每个组件是在一个单独的文件中,还是全部在一个文件中。JavaScript只会执行给定的内容,这是正确的。我假设这是在浏览器中运行的,并且之前的开发人员通过XHR请求以某种方式加载各个组件(或者作为构建步骤连接到一个大的单个应用程序文件中?)。

处理这一问题的唯一约定与适用于任何大型应用程序结构的约定相同。如果你有很多视图和模型(也许还有路由器!),你应该把它们分成自己的"models/"、"views/"目录结构,就像你使用rails应用程序(或你可能使用的任何东西)一样。

如果没有太多代码,那么将所有应用程序代码放在一个文件中肯定没有什么固有的问题。它很好,很简单,不需要很多设置就可以加载到所有组件中。只要记住维护,并考虑那些可能会在你之后发现这一点的开发人员!

值得一提的是,如果你想通过缩小和串联进行额外的优化,那么拥有单独的文件会增加复杂性,但不存在尚未解决的问题。

如果你想要更多的模块化代码,你甚至可以更进一步,添加RequireJS或Browserify(或者ES6模块,如果你觉得勇敢的话!)。