DurandalJS有多大缩小?

时间:2013-07-29 17:32:18

标签: durandal

我似乎无法在任何地方找到答案......

在缩小之前和之后,Durandal Core框架(1.2.0和2.0.0pre版本)的大小是多少?

这将是重返官方Durandal网站的绝佳信息。

2 个答案:

答案 0 :(得分:4)

由于你的包装和缩小Durandal应用程序似乎不是我的尺寸问题的明确答案,我认为我做了 * 粗糙 * 通过逐个缩小每个Durandal JavaScript文件进行比较。然后我们可以总结各个文件,以大致了解Durandal本身的大小。

以下是关于Durandal在尺寸方面可以添加到您的应用中的一些指导原则:

Durandal 1.2.0(~71Kb原料/ ~41Kb缩小)

  • \迪朗达尔
    • app.js(缩小2,190字节/ 1,334字节)
    • composition.js(10,536字节/ 6,177字节缩小)
    • events.js(4,142字节/ 2,219字节缩小)
    • http.js(988字节/ 507字节缩小)
    • messageBox.html(477字节/ 477字节缩小)
    • messageBox.js(451字节/ 349字节缩小)
    • modalDialog.js(6,293字节/ 3,571字节缩小)
    • system.js(5,480字节/ 2,711字节缩小)
    • viewEngine.js(2,268字节/ 1,387字节缩小)
    • viewLocator.js(3,470字节/ 2,096字节缩小)
    • viewModel.js(14,837字节/ 7,648字节缩小)
    • viewModelBinder.js(2,077字节/ 1,257字节缩小)
    • widget.js(4,483字节/ 2,753字节缩小)
  • \迪朗达尔\插件
    • router.js(11,440字节/ 7,019字节缩小)
  • \迪朗达尔\部件\膨胀
    • controller.js(685字节/ 501字节缩小)
    • view.html(缩小562字节/ 562字节)
  • \迪朗达尔\过渡
    • entrance.js(2,488字节/ 1,221字节缩小)

Durandal 2.2.0pre(~171Kb原始/ ~66Kb缩小)

  • \迪朗达尔
    • app.js(4,539字节/ 1,776字节缩小)
    • composition.js(22,836字节/ 11,361字节缩小)
    • events.js(7,461字节/ 2,226字节缩小)
    • system.js(14,560字节/ 3,987字节缩小)
    • viewEngine.js(缩小6,284字节/ 1,943字节)
    • viewLocator.js(缩小6,314字节/ 2,110字节)
    • activator.js(21,609字节/ 8,378字节缩小)
    • viewModelBinder.js(5,637字节/ 2,026字节缩小)
  • \迪朗达尔\插件
    • dialog.js(15,572字节/ 5,773字节缩小)
    • history.js(11,716字节/ 4,122字节缩小)
    • http.js(2,597字节/ 509字节缩小)
    • observable.js(10,257字节/ 5,067字节缩小)
    • router.js(30,871字节/ 12,907字节缩小)
    • serializer.js(5,171字节/ 1,355字节缩小)
    • widget.js(7,430字节/ 2,928字节缩小)
  • \迪朗达尔\过渡
    • entrance.js(2,174字节/ 1,044字节缩小)

注意:

  1. 两个版本的Durandal都依赖于以下附加库:
    • RequireJS(约15 Kb缩小)
    • RequireJS Text Plug-In(约6.5 Kb缩小)
    • KnockoutJS(约15 Kb缩小)
    • JQuery(约91 Kb缩小)
  2. 这些只是基于我使用的缩小器的粗略估计。根据用于缩小代码的实用程序,缩小的大小可能会发生变化。
  3. 我没有包含css或图片资产估算,因为它并不是非常重要。
  4. 由于Durandal使用RequireJS按需加载模块,因此您可能不必承担框架的全部下载成本。
  5. Durandal 2.0.0pre的数量可能会有所变化,因为截至本文发布之时尚未发布。
  6. 希望这有助于人们。

    干杯, 理查德

答案 1 :(得分:0)

Durandal中的优化步骤不能编译成单个Durandal.js Durandal.min.js文件,这就是为什么你找不到这个问题的答案的原因。

在优化过程中,您的应用程序模块与Durandal的模块一起烘焙,默认情况下用almond.js将AMD模块的小型加载器包装成一个名为main-built.js的文件。

在较大的应用中,您可能会考虑延迟加载应用的某些部分,在这种情况下,需要将almond.js替换为require.js。您甚至可以选择不使用almond|require完全包装您的应用,而是先加载这些应用。

除了requirejs | almond的大小之外,Durandal还非常依赖于jQuery和knockout,甚至还有一些用于模态对话框的最小CSS,所以这些也需要考虑在内。

因此,如果您正在使用requirejs,jQuery和knockout,那么Durandal添加的额外大小可能是它添加的所有SPA功能的明智之选。

如果你来自backbonejs世界的人数超过{{1}},那么http://marionettejs.com/当然有自己的一套家属

  

Marionette依赖于Underscore,Backbone,jQuery和其他各种库作为其基础。