我的backbone.js项目是否需要文件上的组件,或者这只是一种约定
Does my backbone.js project require component on a file or is that just a convention?
我继承了一个backbone.js项目。该项目的惯例似乎是将每个模型、视图和控制器放在自己的文件中。
当我看这篇教程(hello-backbone.js)时,它们使用了将控制器和视图都放在一个文件中的约定。
现在我对JavaScript的感觉是,无论它在哪里,它都会执行读者和评估者面前的任何东西
我的问题是:我的backbone.js项目是否需要文件上的组件,或者这只是一个约定
否,Backbone不介意每个组件是在一个单独的文件中,还是全部在一个文件中。JavaScript只会执行给定的内容,这是正确的。我假设这是在浏览器中运行的,并且之前的开发人员通过XHR请求以某种方式加载各个组件(或者作为构建步骤连接到一个大的单个应用程序文件中?)。
处理这一问题的唯一约定与适用于任何大型应用程序结构的约定相同。如果你有很多视图和模型(也许还有路由器!),你应该把它们分成自己的"models/"、"views/"目录结构,就像你使用rails应用程序(或你可能使用的任何东西)一样。
如果没有太多代码,那么将所有应用程序代码放在一个文件中肯定没有什么固有的问题。它很好,很简单,不需要很多设置就可以加载到所有组件中。只要记住维护,并考虑那些可能会在你之后发现这一点的开发人员!
值得一提的是,如果你想通过缩小和串联进行额外的优化,那么拥有单独的文件会增加复杂性,但不存在尚未解决的问题。
如果你想要更多的模块化代码,你甚至可以更进一步,添加RequireJS或Browserify(或者ES6模块,如果你觉得勇敢的话!)。
相关文章:
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何“;过滤器”;或者以其他方式重构该数据
- JavaScript命名约定;静态“;类或模块
- 哪个布尔运算更快<或者<=
- 用javascript记录传递给回调的参数的约定是什么
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- 或者在表单上选择默认选项文本(选择1)
- 理解es6-mixin超类约定
- 试图修改此javascript代码以减小弹出窗口的大小,或者在用户单击框外时关闭
- 命名约定的Web标准
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- 咖啡'@'或者这在函数和类中
- Bootstrap CSS和JS我必须将它们包含在单独的文件中,或者可以编译它们
- 计时器在使用 jQuery 一分钟后没有触发,或者每 1 分钟后给出一些其他解决方案来触发功能
- 使用CloudFront和AmazonS3,或者其他CDN,我可以将所有类似的请求发送到一个静态文件中
- ES6迭代的约定
- Mongoose:布尔型'或者'使用通配符查询
- 在按钮'上运行PHP代码;s onclick事件,或者使用Ajax
- 我的backbone.js项目是否需要文件上的组件,或者这只是一种约定
- 最好导出一个包含函数的对象,或者只导出ES6中的多个函数(有约定吗?)