如何缩小 knockoutjs 代码文件
How to minify knockoutjs code files
我在Javascript Bundles中添加了挖空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();
};
}
问题是缩小器不知道范围内的关键字,因此将同一范围内的变量名称更改为现有名称。当该作用域中有一个n
命名变量时,它会再次将其他函数变量重命名为 n(可能也会发出或可能不会发出,不太确定)。
有什么缩小工具可以帮助更有效地缩小KnockoutJs文件吗?
Uglifyjs2 有可以关闭的 mangler 选项,只保留变量名称:https://github.com/mishoo/UglifyJS2#mangler-options
相关文章:
- 从桌面读取python文件时高亮显示代码
- knockoutjs可观察数组
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 代码不会验证
- 如何从rails中的代码中删除新行( )
- Angularjs代码未在匿名函数中运行
- 如何缩小 knockoutjs 代码文件
- 有哪些可能的方法可以将 knockoutjs 视图模型代码与 asp.net mvc 视图分离,并对其进行 mvc 服务
- KNOCKOUTJS“无法解析绑定”错误,但代码有效
- 如何在knockoutjs按钮点击事件中添加谷歌广告词转换跟踪代码
- knockoutJS中的验证代码不起作用
- KnockoutJS代码不输出任何东西,但没有错误
- KnockoutJS:我应该如何处理繁重的小部件初始化代码