28

Tôi gặp vấn đề lạ liên quan đến việc rút gọn JavaScript, vấn đề là khi đặt các tệp JavaScript như test1.js, test2.js bên trong thư mục /assets/javascript/test và sử dụng tùy chọn sau cho trình biên dịch đóng cửa:Chơi Khung 2: JavaScript được sao chép do việc thu nhỏ (trình biên dịch đóng cửa google)

val defaultOptions = new CompilerOptions() 
    defaultOptions.closurePass = true 
    defaultOptions.setProcessCommonJSModules(false) 
    defaultOptions.setPrettyPrint(true) 
    CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions) 

Họ nhận minified, nhưng điều này sẽ gây ra cả test1.min.js và test2.min.js tệp để chia sẻ cùng một mã như minified ... điều này sẽ gây ra một số thêm Lỗi JavaScript khi tệp được sử dụng trong cùng một trang và chiếm nhiều không gian đĩa hơn.

Tuy nhiên, nếu CompilerOptions không được đặt, JavaScript sẽ biên dịch chính xác mà không trùng lặp nhưng mức biên dịch quá nghiêm ngặt và JavaScript của chúng tôi ngừng hoạt động vì nó nói lỗi về một số nội dung được ghi trong các tệp đó. Nhìn chung, quá trình rút gọn được kích hoạt quá muộn để sửa tất cả các tệp js dự án đi qua với các tùy chọn trình biên dịch mặc định, do đó, chỉ có tùy chọn bây giờ là cấu hình nó để hoạt động theo cách sử dụng giảm nhẹ nhưng không có bản sao js. được đánh giá cao!

Tôi đang sử dụng Play Framework 2.1.1 với dự án Java.

+1

Bạn đã bao giờ tìm thấy câu trả lời cho điều này chưa? – shuttj

+1

Sau khi đào nhiều hơn, tôi thấy vấn đề này để chơi 2.2.1: https://github.com/playframework/playframework/issues/2192 – shuttj

+1

Vâng, tôi không có thời gian để làm việc với thời gian gần đây, mặc dù chúng tôi đã đưa ra một số vấn đề nghiêm trọng lớn để giải quyết vấn đề này, nếu 2.2.1 có cố định thì sẽ rất đáng để thử và chấp nhận nó làm giải pháp thay thế. –

Trả lời

1

Dường như chủ đề này đã tạo ra một số lợi ích, tôi wan't để chỉ ra rằng tôi không thể tái tạo vấn đề này sau khi nâng cấp lên play version 2.2.2. Vì vậy, tôi sẽ chấp nhận điều này như một giải pháp bởi vì nó có vẻ ít hacky cách để sửa chữa nó.

0

Nâng cấp khung Play để 2.2.2