2017-08-28 12 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

謝謝。我會看看。 –

相關問題