我在Play 2.0中的requirejs實現中遇到了一些問題,其中在dev模式下可以找到所有模塊,但是在運行dist時似乎並不尊重路徑我已經安裝好了。Play Framework 2&requirejs - 在dist版本中不受尊重的路徑
下面是設置:
/assets/javascripts/templates/template1/main.js:
require.config({
baseUrl: "/assets/javascripts",
paths : {
jquery : [ 'core/lib/jquery/jquery-1.8.3' ],
can : [ 'core/lib/canjs/can' ]
}
});
require([ "jquery", "can", "core/global/moduleloader" ], function($, can, ml) {
//do stuff
});
而且在模板我打電話:
@helper.requireJs(core = routes.Assets.at("javascripts/require.js").url,
module = routes.Assets.at("javascripts/templates/template1/main").url)
在
我build.scala我要告訴它哪些文件要優化,如下所示:
val main = play.Project(appName, appVersion, appDependencies).settings(
requireJs += "templates/template1/main"
)
客戶端的所有依賴性都解決了,但使用DIST優化的時候,我得到:
[info] RequireJS optimization has begun...
[info] app.build.js:
[info] ({appDir: "javascripts",
[info] baseUrl: ".",
[info] dir:"javascripts-min",
[info] modules: [{name: "templates/template1/main"}]})
model contains 41 documentable templates
Tracing dependencies for: templates/template1/main
JavaException: java.io.FileNotFoundException: /Users/paulsmith/Projects/Experiments/play/Moduluar/target/scala-2.10/classes/public/javascripts-min/jquery.js (No such file or directory)
In module tree:
templates/template1/main
從我所看到的,路徑配置被忽略,所以它是不正確的..這解決路徑似乎是由於app.build.js覆蓋了main.js中的配置。
有沒有人遇到過這個問題?
感謝,
保羅