相关疑难解决方法(0)

最高效的多页面要求和杏仁设置

我在使用RequireJS的网站上有多个页面,并且大多数页面都具有独特的功能.它们共享许多通用模块(jQuery,Backbone等); 所有这些都有自己独特的模块.我想知道使用r.js优化此代码的最佳方法是什么.我看到了RequireJS和Almond的文档和示例的不同部分提出的一些替代方案 - 所以我想出了以下我看到的可能性列表,我问最推荐哪一个(或者是否有另一种更好的方法) :

  1. 使用Almond 优化整个站点的单个JS文件,该文件将加载一次然后保持缓存.这种最简单的方法的缺点是我将加载到用户不需要该页面的每个页面代码(即特定于其他页面的模块).对于每个页面,加载的JS将比它需要的更大.
  2. 为每个页面优化单个JS文件,其中包括公共模块和特定于页面的模块.这样我就可以在每个页面的文件中包含Almond,并且只会在每个页面上加载一个JS文件 - 这将比整个站点的单个JS文件小得多.不过我看到的缺点是普通模块不会在浏览器中缓存,对吧?对于用户访问的每个页面,她必须重新下载大量的jQuery,Backbone等(通用模块),因为这些库将构成每个唯一的单页JS文件的大部分.(这似乎是RequireJS多重示例的方法,除了示例不使用Almond.)
  3. 为常用模块优化一个JS文件,然后为每个特定页面优化另一个JS文件.这样,用户可以缓存公共模块的文件,并且在页面之间浏览只需要加载一个特定于页面的小文件.在这个选项中,我看到了两种完成它的方法,包括RequireJS功能:a.使用data-main语法或普通<script>标记在所有页面上的公共模块之前加载文件require.js - 根本不使用Almond.这意味着每个页面将有三个JS文件:require.js,通用模块和特定于页面的模块.湾 看起来这个要点建议将Almond插入每个优化文件的方法----所以我不必加载require.js,而是在我的常用模块和我的页面特定模块中包含Almond.是对的吗?这比提前加载require.js更有效吗?

感谢您提供的任何建议,以便最好地实现这一目标.

compression optimization requirejs almond r.js

34
推荐指数
2
解决办法
9852
查看次数

HTML + JavaScript + CSS紧凑工具

我需要一种工具,可以缩小,优化和挖掘那些可能类型的许多文件

  • HTML(仅限缩小)
  • JavaScript(缩小,优化和munge)
  • CSS(缩小)

最终结果应该是一个仅包含所有JavaScript和CSS的HTML文件,或者分别用于HTML,JS和CSS的最差场景3文件.

我知道像YUI Compressor等工具.我目前还没有找到的压缩器类型将适用于所有这些文件类型,并将它们合并到一个巨大的文件中.

html javascript css yui-compressor jscompress

11
推荐指数
1
解决办法
7870
查看次数

在企业应用程序框架中包含js/css文件的最佳实践是什么?

我正在ASP.NET MVC3中进行企业应用程序开发.当然,我有不同的主布局和多个视图.

我的担忧

  • 在主布局中包含所有js/css文件可能会影响页面的性能
  • 在视图中包含文件(在需要的地方)正在创建重复的引用(启动jquery /其他库)
  • 更多参考,客户端和服务器之间的来回请求越多 - 这反过来又会影响输出页面的性能

我的想法

  1. 创建所需资源的自定义列表并将其存储在ViewBag中.让主布局引用此对象以包含js/css文件
  2. 或者添加引用具有某个键的操作的链接(用于标识正在呈现的页面的唯一值),并动态生成包含所有必需资源的输出作为单个响应.并使用唯一键为后续请求缓存输出(inmem/staticfile).一种自定义资源捆绑.

请分享您的想法,欢迎任何想法和建议!

编辑:2012年9月1日

下面的答案更多地讨论了Web应用程序开发领域的优化技术 - 欣赏这些答案.

我想从体系结构的角度讨论,重点是创建正在呈现的页面所需的动态资源集合.

例如,在特定的视图中,我想使用需要jquery-ui-1.8.11.min.js的jQuery UI,在某些视图中我想使用需要MicrosoftMvcAjax.js和jquery.unobtrusive-ajax的MVC3 ajax. min.js

我不想在主布局中包含永久引用,这将导致为所有视图加载这些j.相反,我想在运行时包含动态的js文件.

希望这可能会增加清晰度!

谢谢你的帮助 - 维诺德

html javascript css asp.net-mvc razor

10
推荐指数
1
解决办法
3302
查看次数