Как рекламируются, то rjs
в Play можетКак использовать оптимизатор RequireJS в платформе Play?
гарантировать, что любые ресурсы JavaScript, указанные в пределах WebJar автоматически отсчитываются от jsdelivr CDN. Кроме того, если будет найден файл .min.js, который будет использоваться вместо .js. Добавленный бонус здесь заключается в том, что никаких изменений не требуется для вашего html!
Однако, похоже, я ничего не могу сработать.
- Я попытался запустить свое приложение Play в режиме производства, и все мои javascripts webjar по-прежнему ссылаются на локальные.
- Я не вижу версию javascript-файлов
.min
, используемых в производстве. Я не могу получить инъекцию зависимости для работы в режиме производства. Например, когда я хочу, чтобы ввести
jquery
в моем коде, как этотопределяют ([ 'JQuery'], функция ($) { 'использовать строгий';. console.log ($ Grep); возвращение { сумма: функция (a, b) { возвращение a + b; } }; });
я могу получить эту работу хорошо в режиме разработчика, но и в режиме производства, rjs
потерпел неудачу говоря
[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)
Очевидно, что, глядя на неправильное место для JQuery, несмотря на настройки конфигурации сгенерированного по Webjar
requirejs.config({"paths":{"jquery":["/webjars/jquery/1.11.1/jquery","jquery"]},"shim":{"jquery":{"exports":"$"}},"packages":[]}) }
иметь правильное расположение для jquery
.
Я использую Play 2.4.0, с настройкой pipelineStages := Seq(rjs, digest)
в моем build.sbt.
Пожалуйста, дайте мне знать, где я ошибся.
Спасибо!
У меня такая же проблема, я задаюсь вопросом, является ли проблема с конфигурацией, и поэтому здесь возникла проблема. Https://github.com/webjars/sample-play2/issues/7 –
Вот что я заметил до сих пор , без четкого объяснения, почему все работает или не работает. Вы должны использовать Classic Webjars. Когда вы объявляете свои «пути» в main.js, оберните URL-адреса в [квадратные скобки]. Я решил отключить модуль Webjar, потому что мне не нужны 2 версии одного и того же файла. Дайте мне знать, как это происходит. Я напишу пост с инструкцией, как только я выясню, как это сделать. – Khanetor
Вы бросили модуль webjar? Значит, вы больше не используете их? Это было бы неудачно. Мне все еще интересно, не хватает ли мы какой-то конфигурации или, возможно, существует несовместимость (sbt-rjs не обновлялся в то время). –