我在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