Как использовать оптимизатор RequireJS в платформе Play?
Как рекламируется,rjs
в игре может
убедитесь, что любые ресурсы JavaScript, на которые есть ссылки из WebJar, автоматически ссылаются из CDN jsdelivr. Кроме того, если найден какой-либо файл .min.js, он будет использоваться вместо .js. Дополнительным бонусом здесь является то, что нет никаких изменений, необходимых для вашего HTML!
Тем не менее, я не могу заставить это работать.
Я попытался запустить свое приложение Play в производственном режиме, и все мои javascript-скрипты по-прежнему называются локальными.Я не вижу.min
версия файлов JavaScript, используемых в производстве.Я не могу заставить внедрение зависимости работать в производственном режиме. Например, когда я хочу ввестиjquery
в моем коде, как это
define (['jquery'], function ($) {'Использовать строгий'; console.log ($. grep); return {sum: function (a, b) {return 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.
Пожалуйста, дайте мне знать, где я ошибся.
Спасибо!