Jak reklamowane The rjs
w Play możnaJak korzystać z Optymalizatora RequireJS w strukturze Play?
zapewniają, że wszelkie zasoby JavaScript przywoływane z poziomu WebJar są automatycznie odwoływać od jsdelivr CDN. Ponadto, jeśli zostanie znaleziony dowolny plik .min.js, to zostanie on użyty zamiast .js. Dodatkowy bonus polega na tym, że nie trzeba wprowadzać żadnych zmian w swoim html!
Jednak nie wydaje mi się, aby to zadziałało.
- Próbowałem uruchomić moją aplikację Play w trybie produkcyjnym, a wszystkie moje javascripts webjar nadal są określane jako lokalne.
- Nie widzę wersji javascript
.min
używanej w produkcji. Nie mogę uzyskać wtyczki uzależniającej do pracy w trybie produkcyjnym. Na przykład, kiedy chcemy wprowadzić
jquery
w moim kodu jak tendefine ([ 'jquery'], function ($) { 'use strict';. console.log ($ grep); return { Suma: funkcja (a, b) { return a + b; } }; });
mogę uzyskać to działa dobrze w trybie dev, ale w trybie produkcyjnym, rjs
failed mówiąc
[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)
oczywiście jest ona patrząc w niewłaściwym miejscu dla jQuery, pomimo konfiguracji config generowanego przez Webjar
requirejs.config({"paths":{"jquery":["/webjars/jquery/1.11.1/jquery","jquery"]},"shim":{"jquery":{"exports":"$"}},"packages":[]}) }
mieć poprawną lokalizację dla jquery
.
Używam programu Play 2.4.0 z konfiguracją pipelineStages := Seq(rjs, digest)
w moim pliku build.sbt.
Proszę dać mi znać, gdzie źle się spisałem.
Dzięki!
Mam ten sam problem, zastanawiam się, czy to jest problem z konfiguracją i dlatego otworzyłem problem tutaj https://github.com/webjars/sample-play2/issues/7 –
Oto co zauważyłem do tej pory , bez jasnego wyjaśnienia, dlaczego rzeczy działają lub nie działają. Musisz korzystać z Klasycznych Webjarów. Po zadeklarowaniu ścieżek 'paths' w pliku main.js, umieść adresy URL w [nawiasach kwadratowych]. Zdecydowałem się zrezygnować z modułu Webjar, ponieważ nie chcę 2 wersji tego samego pliku. Daj mi znać jak idzie. Napiszę post z instrukcją, gdy tylko wymyślę, jak to połączyć. – Khanetor
Porzuciłeś moduł webjar? Więc już ich nie używasz? To byłoby niefortunne. Nadal zastanawiam się, czy po prostu brakuje jakiejś konfiguracji, czy może istnieje niekompatybilność (sbt-rjs nie było od jakiegoś czasu aktualizowane). –