如何最小化Knockout.js代码文件

普拉纳夫·辛格

我在Javascript Bundle中添加了敲除js文件,并在发布模式下将它们缩小了。在调试模式下,一切正常。但是启用优化后,Visual Studio会自动缩小JsBundles,它会更改参数名称,这会引起问题。例子:

整理后缩小文件

function ProgramViewModel() {
  var n = this;
  n.Programs = ko.observableArray([]);
  n.SelectProgramForDetails = ko.observable('');
  n.SelectedProgramList = ko.observableArray([]);
  n.RequestedPrograms = ko.observableArray([]);
  n.SelectedPrograms = ko.observableArray([]);
  n.SearchSelected = ko.observable(!1);
  n.ProgramName = ko.observable('');
  n.CurrentPage = ko.observable(0);
  n.LastHeight = ko.observable(0);
  n.ProgramCatalog = ko.observableArray([{
    CatalogName: 'Global Catalog',
    CatalogId: 1
  },
  {
    CatalogName: 'Area Catalog',
    CatalogId: 2
  }
  ]);
  n.ColumnClicked = function (n, t) {
    paginationViewModel.ColumnClicked(t);
    programViewModel.GetPrograms()
  };
  n.ShowData = function (n) {
    $('html, body').animate({
      scrollTop: paginationViewModel.offset()
    }, 500);
    paginationViewModel.ShowData(n);
    programViewModel.GetPrograms()
  };
}

归档之前

function ProgramViewModel() {
    var self = this;
    self.Programs = ko.observableArray([]);
    self.SelectProgramForDetails = ko.observable("");
    self.SelectedProgramList = ko.observableArray([]);
    self.RequestedPrograms = ko.observableArray([]);
    self.SelectedPrograms = ko.observableArray([]);
    self.SearchSelected = ko.observable(false);
    self.ProgramName = ko.observable("");

    self.CurrentPage = ko.observable(0);
    self.LastHeight = ko.observable(0);

    // Default Catalog for now
    self.ProgramCatalog = ko.observableArray([
        { CatalogName: "Global Catalog", CatalogId: 1 },
        { CatalogName: "Area Catalog", CatalogId: 2 }
    ]);

    self.ColumnClicked = function (data, e) {
        paginationViewModel.ColumnClicked(e);
        programViewModel.GetPrograms();
    };

    self.ShowData = function (mode) {
        $('html, body').animate({
            scrollTop: paginationViewModel.offset()
        }, 500);
        paginationViewModel.ShowData(mode);

        programViewModel.GetPrograms();
    };
}

问题在于,minifier无法识别作用域中的关键字,因此会将相同作用域中的变量名称更改为现有名称。n在该范围内有一个命名变量时,它将再次将其他函数变量重命名为n(可能会发出也可能不会发出,不太确定)。

有任何缩小工具可以帮助更有效地缩小KnockoutJs文件?

比利·月亮

Uglifyjs2具有可关闭的mangler选项,而无需保留变量名:https : //github.com/mishoo/UglifyJS2#mangler-options

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何最小化jQuery中的代码

来自分类Dev

如何最小化此ajax代码?

来自分类Dev

如何最小化此PHP代码

来自分类Dev

如何将非最小化和最小化的js文件与browserify捆绑在一起

来自分类Dev

如何最小化ViewModel中的代码到对象的转换?

来自分类Dev

如何最小化该程序的代码大小?

来自分类Dev

如何使用Jhon papa样式最小化角度代码

来自分类Dev

最小化视图代码

来自分类Dev

如何在Eclipse IDE中最小化Javascript文件?

来自分类Dev

如何取消最小化 min.css 文件?

来自分类Dev

如何使用gradle.build文件最小化js和css文件

来自分类Dev

如何在PHP Storm 10.0.3中启用.js和.css文件的自动最小化?

来自分类Dev

如何使用mod_pagespeed最小化js文件上的每个请求

来自分类Dev

如何将 webapp 的最小化 JS 文件打包到 debian 包中?

来自分类Dev

透明的比较器代码最小化

来自分类Dev

Perl :: Tidy最小化Perl代码

来自分类Dev

优化代码以最小化错误

来自分类Dev

编辑最小化 javascript 的源代码

来自分类Dev

如何最小化基于jQuery中选择器的代码

来自分类Dev

如果我在getopt中有很多变量,如何最小化代码

来自分类Dev

如何最小化运行此自定义函数所需的代码?

来自分类Dev

如果我在getopt中有很多变量,如何最小化代码

来自分类Dev

如何最小化运行此自定义函数所需的代码?

来自分类Dev

如何反转/重置停靠点击最小化的代码(如下所示)?

来自分类Dev

如何最小化MEAN.JS中用于生产环境的所有js和CSS?

来自分类Dev

如何在grails中使用资产管道插件将js最小化到一个文件

来自分类Dev

如何启动以.bat文件最小化的Firefox浏览器?

来自分类Dev

如何配置grunt-contrib-uglify以最小化文件,同时保留目录结构

来自分类Dev

如何启动以.bat文件最小化的Firefox浏览器?

Related 相关文章

  1. 1

    如何最小化jQuery中的代码

  2. 2

    如何最小化此ajax代码?

  3. 3

    如何最小化此PHP代码

  4. 4

    如何将非最小化和最小化的js文件与browserify捆绑在一起

  5. 5

    如何最小化ViewModel中的代码到对象的转换?

  6. 6

    如何最小化该程序的代码大小?

  7. 7

    如何使用Jhon papa样式最小化角度代码

  8. 8

    最小化视图代码

  9. 9

    如何在Eclipse IDE中最小化Javascript文件?

  10. 10

    如何取消最小化 min.css 文件?

  11. 11

    如何使用gradle.build文件最小化js和css文件

  12. 12

    如何在PHP Storm 10.0.3中启用.js和.css文件的自动最小化?

  13. 13

    如何使用mod_pagespeed最小化js文件上的每个请求

  14. 14

    如何将 webapp 的最小化 JS 文件打包到 debian 包中?

  15. 15

    透明的比较器代码最小化

  16. 16

    Perl :: Tidy最小化Perl代码

  17. 17

    优化代码以最小化错误

  18. 18

    编辑最小化 javascript 的源代码

  19. 19

    如何最小化基于jQuery中选择器的代码

  20. 20

    如果我在getopt中有很多变量,如何最小化代码

  21. 21

    如何最小化运行此自定义函数所需的代码?

  22. 22

    如果我在getopt中有很多变量,如何最小化代码

  23. 23

    如何最小化运行此自定义函数所需的代码?

  24. 24

    如何反转/重置停靠点击最小化的代码(如下所示)?

  25. 25

    如何最小化MEAN.JS中用于生产环境的所有js和CSS?

  26. 26

    如何在grails中使用资产管道插件将js最小化到一个文件

  27. 27

    如何启动以.bat文件最小化的Firefox浏览器?

  28. 28

    如何配置grunt-contrib-uglify以最小化文件,同时保留目录结构

  29. 29

    如何启动以.bat文件最小化的Firefox浏览器?

热门标签

归档