Можно ли использовать приложение Play 2.3 для оптимизации/оптимизации JS (используя sbt-rjs), которое включено в мое приложение через WebJars?
Чтобы привести конкретный пример: я пытаюсь создать модуль core.js который содержит все мои сторонние библиотеки, объединенные и обобщенные в одном файле, которые затем могут быть указаны как зависимость для других модулей AMD.
Было бы здорово включить эти библиотеки через WebJars вместо загрузки источника "вручную".
Вот фрагмент из моего файла build.sbt, где я указываю свои зависимости webjar:
// Webjars
libraryDependencies ++= Seq(
"org.webjars" % "requirejs" % "2.1.15",
"org.webjars" % "underscorejs" % "1.7.0",
"org.webjars" % "jquery" % "1.11.1",
"org.webjars" % "bootstrap" % "3.3.1" exclude("org.webjars", "jquery"),
"org.webjars" % "angularjs" % "1.3.4-1" exclude("org.webjars", "jquery")
)
Здесь my requireJS build config
requirejs.config({
baseUrl: '/assets/javascripts',
shim: {
'jsRoutes': {
deps: [],
exports: 'jsRoutes'
},
'angular': {
deps: ['jquery'],
exports: 'angular'
},
'underscore': {
exports: '_'
},
'angularRoute': ['angular'],
'angularCookies': ['angular'],
'bootstrap': ['jquery']
},
paths: {
'requirejs': '../lib/requirejs/require',
'jquery': '../lib/jquery/jquery',
'underscore': '../lib/underscorejs/underscore',
'angular': '../lib/angularjs/angular',
'angularRoute': '../lib/angularjs/angular-route',
'angularCookies': '../lib/angularjs/angular-cookies',
'bootstrap': '../lib/bootstrap/js/bootstrap',
'jsRoutes': '/jsroutes',
'core': './core'
},
modules: [
{
name: 'core'
}
]
});
И, наконец, здесь мой модуль core.js:
define(['angular', 'angularRoute', 'underscore', 'bootstrap'], function() {
// core dependencies are loaded...
});
После запуска activator clean stage
из командной строки я надеялся, что встроенный файл core.js будет включать в себя все мои указанные зависимости, конкатенированные и минированные в один файл, но в них нет ни одного из них. Если я укажу файл не WebJar в качестве зависимости для core.js, он правильно оптимизирует его.
Я пытаюсь сделать это? Я довольно много искал и не мог найти четкого ответа в любом случае.
Спасибо!