我在Play應用程序中遇到了sbt-uglify插件的問題。我完全按照https://github.com/sbt/sbt-uglify的文檔。Sbt-Uglify發生內存不足錯誤(Play 2.3.7)
在我plugins.sbt
我添加插件:
addSbtPlugin("com.typesafe.sbt" % "sbt-uglify" % "1.0.3")
在我build.sbt
我添加醜化到資產管道:
pipelineStages := Seq(uglify, digest, gzip)
我至少有60 JavaScript文件正在與醜化優化當我運行:sbt start
或sbt dist
。我開始看到幾個警告:
[error] WARN: Dropping unused function argument
[error] WARN: Dropping unused function argument
[error] WARN: Dropping unreachable code
我習慣在使用較少的JS文件運行類似的項目時看到這一點。這樣繼續下去,直到獲得無記憶的點:
[error] java.lang.OutOfMemoryError: unable to create new native thread
我發現被問過類似的問題,這一點:Play 2.3.6 Java - OutOfMemory errors w/ sbt-uglify。這似乎沒有回答,我已經試圖增加我的記憶限制。
有趣的是,我可以使它與RequireJS一起正常工作,它應該完成同樣的事情。我應該可以使用,對嗎?
有沒有其他人遇到這個問題或知道解決方案?我不完全確定這是Play,Uglify還是什麼問題。
我們添加了複製這個問題,你可以克隆,並嘗試爲自己測試例如:https://github.com/ascreamingweas/Sbt-Uglify-Test
您的幫助表示讚賞。
我想出了一個測試版本,它在試圖優化60多個CoffeeScript文件時複製了這個確切的錯誤。你可以在這裏查看:https://github.com/ascreamingweas/Sbt-Uglify-Test。謝謝! – ASCREAMINGWEAS 2015-02-06 19:33:10
作爲解決方法,您可以嘗試按照[此處](https://github.com/sbt/sbt-js-engine)中的說明安裝節點JS並使用節點SBT JS引擎。根據我的經驗,它比基於Java的默認(Trireme)快得多,效率更高,儘管不太方便。 – Mikesname 2015-02-07 19:34:15