Như quảng cáo, các rjs
trong Chơi thểCách sử dụng trình tối ưu hóa RequireJS trong khung chơi?
đảm bảo rằng bất kỳ tài nguyên JavaScript tham chiếu từ bên trong một WebJar sẽ tự động được tham chiếu từ jsdelivr CDN. Ngoài ra, nếu tìm thấy bất kỳ tệp nào .min.js thì tệp đó sẽ được sử dụng thay cho .js. An thêm tiền thưởng ở đây là không có thay đổi cần thiết cho html của bạn!
Tuy nhiên, tôi dường như không nhận được bất kỳ thứ gì để hoạt động.
- Tôi đã thử chạy ứng dụng Play ở chế độ sản xuất và tất cả các javascripts webjar của tôi vẫn đang được tham chiếu là cục bộ.
- Tôi không thấy phiên bản của các tệp javascript đang được sử dụng trong sản xuất
.min
. Tôi không thể tiêm phụ thuộc để hoạt động ở chế độ sản xuất. Ví dụ, khi tôi muốn tiêm
jquery
trong mã của tôi như thế nàyxác định ([ 'jquery'], function ($) { 'sử dụng nghiêm ngặt.'; console.log ($ grep); trở lại { tổng: hàm (a, b) { trả lại + b; } }; });
tôi có thể có được điều này để làm việc tốt trong chế độ dev, nhưng trong chế độ sản xuất, rjs
thất bại nói
[info] Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info] main
[info] app
[info]
[info] Error: Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info] main
[info] app
[info]
[info] at Error (native)
Rõ ràng nó đang nhìn sai vị trí cho jQuery, mặc dù thiết lập cấu hình được tạo ra của Webjar
requirejs.config({"paths":{"jquery":["/webjars/jquery/1.11.1/jquery","jquery"]},"shim":{"jquery":{"exports":"$"}},"packages":[]}) }
để có vị trí chính xác cho jquery
.
Tôi đang sử dụng Play 2.4.0, với thiết lập pipelineStages := Seq(rjs, digest)
trong build.sbt của tôi.
Vui lòng cho tôi biết nơi tôi đã nhận sai.
Cảm ơn!
Tôi gặp vấn đề tương tự, tôi tự hỏi đó có phải là sự cố cấu hình và do đó đã mở một sự cố tại đây https://github.com/webjars/sample-play2/issues/7 –
Đây là những gì tôi đã nhận thấy từ trước đến nay , không có giải thích rõ ràng về lý do tại sao mọi thứ hoạt động hoặc không hoạt động. Bạn phải sử dụng Classic Webjars. Khi bạn khai báo 'đường dẫn' trong main.js, hãy bọc các url trong [dấu ngoặc vuông]. Tôi quyết định bỏ mô-đun Webjar vì tôi không muốn 2 phiên bản của cùng một tệp. Cho tôi biết làm thế nào nó đi. Tôi sẽ viết bài với hướng dẫn một khi tôi tìm ra cách để đặt này lại với nhau. – Khanetor
Bạn đã bỏ mô-đun webjar? Vì vậy, bạn không sử dụng chúng nữa? Điều đó sẽ không may. Tôi vẫn tự hỏi nếu chúng ta chỉ đơn giản là thiếu một số cấu hình hoặc có thể có một sự không tương thích (sbt-rjs đã không được cập nhật trong một thời gian). –