我有一个包含许多事件处理程序的页面。该代码现在已达到1000多行代码,并且我开始难以阅读代码。我现在计划将代码分隔到不同的文件。我的问题是,将JS代码分成不同的文件有什么缺点?分离JavaScript代码的缺点?
回答
的缺点?
另一个HTTP请求。开发人员建议将文件压缩并尽量保存在尽可能少的文件中进行优化。您请求的文件越少,速度越快(因为往返次数少)
如果您使用带自动完成功能的文本编辑器,其中一些编辑器将无法从其他文件中提取内容用于自动完成。如果你不记忆你所拥有的功能,这可能是一个问题。
如果这些相互依赖的文件之一未能加载,您的应用程序将中断。
缺点是增加了复杂性,确保您正确地包含所有内容。但是1000条线路变得笨拙。 Here's a related page about calling JavaScript objects in separate files
最好的做法是为每个文件中包含的功能模块是所有相关的(无论是最有效的开发/调试/编辑/源控制发展的宗旨创造相对较小的文件,你可以给每个提供一个有意义的名称来描述它的内容,每个文件都可以单独管理(它们自己的源代码管理系统中的版本历史记录,签入/签出等等)。打开多个标签通常更容易在编辑器中使用单独的文件,而不是尝试使用书签在一个大文件中的不同位置之间跳来跳去......
然后,当您开始部署应用程序时,使用工具(如Google clos ure或YUI Compressor)将所有较小的文件最小化并合并到一个部署文件中。这保留了包含相关代码的小文件的开发优势,同时保留了大部分/全部代码放在一个较大的外部JavaScript文件中的部署优势,该文件可以在一个http请求中下载,并且可以非常有效地进行缓存。
将代码分开放在不同的文件中可以帮助您进行维护。 我会建议你把它分成与CommonJS兼容的模块,如果你在浏览器环境下工作,你可以使用RequireJS加载它们。当您部署网站/ web应用程序以优化http请求时,您还可以使用提供的实用程序创建单个文件。
这里是一个bolg后约JSminify和类似的工具与VisualStudio的使用和构建自动化: 立即在我脑海中是另一个网络请求http://encosia.com/automatically-minify-and-combine-javascript-in-visual-studio/
- 1. PHP代码分离
- 2. 的XCode的代码分离
- 3. CakePHP中的代码分离
- 4. 代码分离 - 在AngularJS
- 5. 分离代码 - 模块化
- 6. JavaScript代码分析
- 7. 非平面图中顶点 - 分离Menger问题的代码
- 8. 缺少jQuery代码的一部分?
- 9. 将要组织的分离代码
- 10. 代码分离到不同的类[Java]
- 11. 如何分离TensorBoard中的TensorFlow代码?
- 12. 我的分离代码是否正确?
- 13. 根据欧几里得距离分类点 - 优化代码
- 14. 缺少Google Analytics(分析)跟踪代码
- 15. Javascript代码失去焦点
- 16. 亮点代码从javascript
- 17. 分离节点
- 18. 休眠中分离对象的优缺点?
- 19. React.js:从HTML分离React.js代码
- 20. Android将代码分离成包
- 21. 从主代码中分离GUI
- 22. NSPopover示例代码不分离窗口
- 23. JavaScript源代码分析器
- 24. 代码点火器分页
- 25. wcf配置文件vs代码配置的优点和缺点
- 26. 从实时代码中分离开发代码
- 27. 输入类型:从前端代码分离代码
- 28. 将定制的JavaScript分析代码添加到magento站点
- 29. 缺少javascript表的分号(;)?
- 30. 使用弹簧分离测试和数据有什么缺点?
一件事。我会建议有一个可读的开发文件或多个文件,但一个缩小和/或gzip文件的生产。 – Kumar 2012-03-27 05:23:08
(编辑:库马尔打败了我,但我认为缺乏并发请求仍然存在。)我能想到的唯一重要的是加载不同的JS文件可能会有点慢。因为它们可能会发生冲突,所以一次只能加载一个(尽管浏览器可能已经开始为此工作 - 在过去几年中没有检查过)。尽管你总是可以在生产版本中一起整理一些文件。 – Corbin 2012-03-27 05:23:53
同意库马尔 - 虽然会说你不会看到那么多的性能差异,除非你有更多的代码更多的文件。 – dbrin 2012-03-27 05:28:40