Play 2.3.x 앱에서 sbt-rjs를 사용하여 WebJars에서 JS 최적화
WebJars를 통해 내 앱에 포함 된 Play 2.3 앱이 JS (sbt-rjs 사용)를 연결 / 최적화하도록 할 수 있습니까?
구체적인 예를 들자면 : 저는 다른 AMD 모듈에 대한 종속성으로 지정할 수있는 단일 파일에 연결되고 축소 된 모든 타사 라이브러리를 포함 하는 core.js 모듈 을 만들려고 합니다.
소스를 "수동으로"다운로드하는 대신 WebJars를 통해 이러한 라이브러리를 포함하는 것이 좋습니다.
다음은 내 webjar 종속성을 지정하는 build.sbt 파일 의 스 니펫입니다 .
// 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")
)
내 requireJS 빌드 구성은 다음과 같습니다.
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...
});
After running activator clean stage
from the command line I was hoping the built core.js file would include all my specified dependencies concatenated and minified into a single file, but it doesn't include any of them. If I specify a non-WebJar file as a dependency for core.js, it does optimize that correctly.
Is what I'm trying to do possible? I've been googling quite a bit and haven't been able to find a clear answer either way.
Thanks!
I am using Play 2.4.3.
Added addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")
to plugins.sbt
// rjs = RequireJS, uglifies, shrinks to one file, replaces WebJars with CDN
client accepts them
pipelineStages := Seq(rjs, digest, gzip)
This in my build.sbt does all the shrinking work etc. to bower JS, and webjars.
'development' 카테고리의 다른 글
FrameLayout의 Android 센터보기가 작동하지 않습니다. (0) | 2020.10.22 |
---|---|
랜덤은 거의 랜덤하지 않습니까? (0) | 2020.10.22 |
Entity Framework로 작업 할 때 좋은 디자인 사례는 무엇입니까? (0) | 2020.10.22 |
순전히 기능적인 맵과 세트의 통계적 성능 (0) | 2020.10.22 |
특정 SPTimeZone 인스턴스 생성 또는 가져 오기 (0) | 2020.10.22 |