我使用的播放框架2.4我的應用程序工作正常安裝UI組件如前(grunt
,ruby
,npm
,cpmpass
)我不很瞭解他們,但我需要這些爲我的項目UI
工作有一個文件夾node_modules
下的public
目錄的播放應用程序這是造成太多的時間來運行/測試項目,每當我給run
或test
命令我已經看到很多文件夾正在啓動在位置創建如何停止node_modules文件夾進入遊戲框架的目標目錄2.4
playapp/target/web/classes/main/META-INF/resources/webjars/playapp/0.1.0-7708ad295b8fe2c87a28bdb6afa7c10401c12a61-SNAPSHOT/node_modules
我該如何避免這種情況? 這裏有一些解決方案,我已經試過,但沒有奏效
- https://www.playframework.com/documentation/2.4.x/SBTCookbook
- Include/Exclude asset folder/directory in sbt/play-framework
項目/咕嚕
import play.PlayRunHook
import sbt._
import java.net.InetSocketAddress
object Grunt {
def apply(base: File): PlayRunHook = {
object GruntProcess extends PlayRunHook {
var process: Option[Process] = None
override def beforeStarted(): Unit = {
Process("grunt dist", base).run
}
override def afterStarted(addr: InetSocketAddress): Unit = {
process = Some(Process("grunt watch", base).run)
}
override def afterStopped(): Unit = {
process.map(p => p.destroy())
process = None
}
}
GruntProcess
}
}
這裏是build.sbt的一部分文件 編輯
import Grunt._
import play.PlayImport.PlayKeys.playRunHooks
import play.sbt.PlayImport.PlayKeys.playRunHooks
lazy val gruntDirectory = baseDirectory {
_/"public"
}
excludeFilter := HiddenFileFilter -- ".tmp"
unmanagedResourceDirectories in Assets <+= gruntDirectory { _/"dist"}
unmanagedResourceDirectories in Assets <+= gruntDirectory { _/".tmp"}
unmanagedResourceDirectories in Assets <+= gruntDirectory { _/"bower_components"}
unmanagedResourceDirectories in Assets <+= gruntDirectory { _/"node_modules"}
//this is for development environment
unmanagedResourceDirectories in Assets <+= gruntDirectory { _/"src"/"app"}
playRunHooks <+= baseDirectory.map(base => Grunt(base))
但還是目標文件夾得到填補與上run
和test
命令創建它的很多文件夾裏面的文件夾node_modules,請幫助。 編輯
我已經添加
unmanagedResourceDirectories in Assets <+= gruntDirectory { _/"node_modules"}
這條線,但現在我gettig這個錯誤
[trace] Stack trace suppressed: run last playapp/web-assets:webExportedDirectory for the full output.
[error] (playapp/web-assets:webExportedDirectory) Duplicate mappings:
[error] playapp/target/web/classes/main/META-INF/resources/webjars/arteciate/0.1.0-7708ad295b8fe2c87a28bdb6afa7c10401c12a61-SNAPSHOT/requirejs/require.js
[error] from
[error] playapp/public/bower_components/requirejs/require.js
[error] /home/sara/git/arteciate/public/node_modules/requirejs/require.js
[error] playapp/target/web/classes/main/META-INF/resources/webjars/arteciate/0.1.0-7708ad295b8fe2c87a28bdb6afa7c10401c12a61-SNAPSHOT/requirejs/README.md
[error] from
[error] playapp/public/bower_components/requirejs/README.md
[error] playapp/public/node_modules/requirejs/README.md
[error] Total time: 5 s, completed Aug 8, 2017 5:09:17 PM
公用文件夾具有下列內容
app bower.json dist Gruntfile.js node_modules README.md test
bower_components config fonts Gruntfile.js~ package.json _SpecRunner.html
和,我想再問一個問題我不知道這些UI組件如何UI工具實際上如何工作,如npm, yeoman, bower, sass, grunt
,什麼是node_modules
和它們是什麼和「我真的需要我的構建過程中使用sbt模塊」
你在哪裏添加跳過node_modules文件夾??? –
'''非託管資源目錄中的資產<+ = gulpDirectory {_ /「node_modules」} ''' –
請參閱我編輯的問題 – swaheed