2017-08-28 14 views
0

我正在用Java Play Framework构建play-java的场景。我有一个依赖关系,babel编译成一个糟糕的输出行“var sth = require(”sth“)”。 显然,browserify是让这个nodejs风格包含在浏览器中工作的唯一希望。但是我不想在每一个新的编译中从CLI手动调用browserify。所以我发现这个片段更接近于家庭,但他的案例是Scalajs。 那么如何在我的场景中复制他的解决方案?在build.sbt中设置sbt的browserify调用,以便在编译时捆绑依赖关系

回答

2

您可以通过创建在Asset资源生成阶段执行的任务来执行来自sbt的browserify。

看到这个种子项目为例,看看该build.sbt如何创建任务:https://github.com/maximebourreau/play-reactjs-es6-seed

注意他们弃用< + =用于追加到列表中,这样你可以改变sourceGenerators行:

sourceGenerators in Assets += browserifyTask.taskValue

注意这仅仅是执行在node_modules目录browserify二进制,所以你必须安装NPM和browserify运行bablify任务,但你可以改变它执行什么任务。

它也硬编码的文件来browerify app/assets/javascripts/main.jsx。你可以改变它作为一个settingKey。

无论何时您更改sourceDirectory in Assets中的文件,源代码生成器都会运行。

希望这会有所帮助。

+0

谢谢。我会看看。 –

相关问题