【发布时间】:2011-11-27 17:53:54
【问题描述】:
鉴于:
- 资产管道相当复杂(来自 ASP.NET MVC,这 更复杂): How do I associate a CoffeeScript file with a view?
- 所有 js 文件都将加载到每个页面上,并且每个“准备就绪” 每个文件中的jquery方法都会被执行
将应用程序的 javascript 分解为“区域”是否更有意义——一个 js 文件用于站点的用户/公共区域,一个文件用于站点的管理区域等等。来自外部站点(jquery,组织中的其他站点)的脚本不会真正适用。
我看到的好处是
性能:加载一个 80kb 文件比加载 4 个 20kb 文件要快得多,因为 TCP/IP 开销 (source)。在生产环境中,所有公共 js 将被编译到一个文件中并在每个请求中提供服务,但我认为在该文件中包含“管理”代码的缺点。
安全性:脚本文件中可能有一些我不想暴露给未经授权的用户的内容。诚然,如果它在脚本中它是不安全的,但如果我可以最大限度地减少诸如执行数据库维护的控制器操作的路径之类的事情的暴露,那就太好了。
开发中的简单性:如果 on-ready 事件将从每个文件中触发,那么将它放在一个文件中对我来说是有意义的,这样我就不必加载每个文件来查看里面有什么准备好的。子区域(如 admin)的 js 自然会在一个单独的文件中,该文件不会来自资产
相关:Put javascript in one .js file or break it out into multiple .js files?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3