Po uruchomieniu projektu MVC 4 w trybie Release jedna strona, która używa SlickGrid, nie wyświetla się poprawnie (siatka jest bardzo, bardzo wysoka i brakuje komórek siatki).Dlaczego Minimalny kod nie jest ekwiwalentem oryginału?
Jednak nie sądzę, że jest to kwestia SlickGrid, ale raczej sposób, w jaki program pakujący (System.Web.Optimization
, który jest zintegrowany z MVC 4) zminimalizował kod.
Złapałem zminimalizowany JavaScript i zacząłem cofać minifikację w jednym obszarze, dopóki problem nie został rozwiązany. Uważam, że zmiana (i odpuść przewijanie, chcę opuścić wersję minified dokładnie jak jest)
function SlickFilter(n,t){var i=n.option,r=t.searchString;return n.pctSortKey.key<t.percentCompleteThreshold||r!=""&&i.indexOf(r)==-1&&i!="Unweighted Response"&&i!="Median"&&i!="Average"?!1:!0}
do oryginalnego
function SlickFilter(item, args) {
if (item.pctSortKey.key < args.percentCompleteThreshold) {
return false;
}
if (args.searchString != "" && item.option.indexOf(args.searchString) == -1 && item.option != "Unweighted Response" && item.option != "Median" && item.option != "Average") {
return false;
}
return true;
}
rozwiązuje problem, jeśli wszystkie inne elementy pliku minified pozostają niezmienione.
Funkcja jest stosowany następująco:
dataView.setFilter(SlickFilter);
w celu zapewnienia funkcji połączenia zwrotnego przez SlickGrid odfiltrować pewnych wyników.
Jak to jest, że oryginalna i zminimalizowana funkcja nie są równoważne?
UPDATE
SlickGrid jest "kompilacji" funkcję filtrowania, że świadczenia. Ten etap kompilacji nie udaje się z wersją minified. Skompilowany kod minified wygląda następująco:
function anonymous(_items,_args) {
var _retval = [], _idx = 0; var n, t = _args; _coreloop: for (var _i = 0, _il = _items.length; _i < _il; _i++) { n = _items[_i];
//debugger;
var i = n.option,
r = t.searchString;
return
n.pctSortKey.key < t.percentCompleteThreshold
||
r !=""
&& i.indexOf(r)==-1
&& i != "Unweighted Response"
&& i != "Median"
&& i != "Average"
? !1
: !0
; } return _retval;
}
Uwaga Multiple powrotnej oświadczenia.
Z tego dodatkowego wglądu, udało mi się zidentyfikować odpowiednią SlickGrid błąd:
https://github.com/mleibman/SlickGrid/issues/301
Czy jesteś sam?Istnieje mnóstwo narzędzi do minifikacji, więc polecam Ci wypróbować inny. – lolol
@lolol: Nie Używam 'System.Web.Optimization', który jest zintegrowany z MVC 4. Zaktualizowałem pytanie, aby to wyjaśnić. –
Moja zła, nie mogę ci naprawdę pomóc. Przepraszam. (Mam podobne problemy, ale robiłem to sam, zmiana narzędzia rozwiązało problem). – lolol