Khi tôi chạy dự án MVC 4 trong chế độ Phát hành, một trang sử dụng SlickGrid không hiển thị chính xác (lưới rất, rất cao và ô lưới bị thiếu).Tại sao Mã được Rút gọn không tương đương với Bản gốc?
Tuy nhiên, tôi không nghĩ đây là vấn đề của SlickGrid, nhưng thay vì cách trình bao (System.Web.Optimization
được tích hợp vào MVC 4), hãy rút ngắn mã.
Tôi đã chụp JavaScript được rút gọn và bắt đầu đảo chiều giảm thiểu ở một khu vực tại một thời điểm cho đến khi sự cố được khắc phục. Tôi thấy rằng việc thay đổi (và tha thứ cho sự di chuyển, tôi muốn rời khỏi phiên bản minified chính xác như nó vốn có)
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}
với bản gốc
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;
}
giải quyết vấn đề này nếu tất cả các yếu tố khác của các tập tin được rút gọn không đổi.
Hàm này được dùng như:
dataView.setFilter(SlickFilter);
để cung cấp một chức năng gọi lại cho SlickGrid để lọc ra các kết quả nhất định.
Làm thế nào mà hàm gốc và hàm được rút gọn không tương đương?
CẬP NHẬT
SlickGrid là "biên dịch" chức năng lọc mà tôi cung cấp. Bước biên dịch đó không thành công với phiên bản được rút gọn. Mã minified biên soạn trông giống như:
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;
}
Lưu ý nhiều trở báo cáo.
Với cái nhìn sâu sắc bổ sung này, tôi đã có thể xác định một SlickGrid lỗi liên quan:
https://github.com/mleibman/SlickGrid/issues/301
Bạn đang tự mình làm nhỏ js?Có rất nhiều công cụ khai thác trên mạng nên tôi khuyên bạn nên thử một công cụ khác. – lolol
@lolol: Không, tôi đang sử dụng 'System.Web.Optimization' được tích hợp vào MVC 4. Cập nhật câu hỏi để làm rõ điều đó. –
Tệ của tôi, tôi thực sự không thể giúp bạn sau đó. Lấy làm tiếc. (Tôi có vấn đề tương tự, nhưng tôi đã tự mình làm, thay đổi công cụ đã giải quyết được vấn đề) – lolol