2015-12-05 79 views
4

我有一个用Spring Boot和JS在客户端上编写的应用程序。所有JS & CSS代码存储在src/main/webapp中,并与Webpack一起编译到相同的目录。把编译好的bundle放在那里似乎很脏,但我想知道是否有方法将它存储在build目录中?带Gradle和Webpack的Spring Boot

我已经成功使用了下面的代码,将其添加到war文件中build.gradle

from("${buildDir}") { 
    include 'bundle.js' 
} 

但我没有任何意义如何实现bootRun任务或IntelliJ IDEA的同样的效果。

另外,我怎么能排除存储在src/main/webapp/jssrc/main/webapp/scss源文件?有什么最佳实践来管理网站资产?

回答

0

你或许应该看看Jhipster(http://jhipster.github.io/

顺便说一句,我的项目,我清楚地倾向于从服务器代码单独的客户端代码。用于JS代码的'project-client'目录,位于带有Java代码的'project-server'目录旁边。

前者具有明显的“标准Java”的文件结构。

对于第一个,JS现在有自己的标准。好吧,他们还不是很稳定;),但仍然。你的JS源代码可以是一半 - 或更多 - 源,它的位置可能不是在你的Java项目的一个子目录...

而且,像的WebPack工具非常强大。 Webpack可以在相关时嵌入样式,图像或其他资源。源文件/资源​​文件/构建产品文件应该与Java项目中明显分开。

开发时,使用webpack服务器。我的index.html主页面(由Java服务器所配)简单地指向localhost:[webpack-port] /main.js

然后出现了全局构建的问题,这很容易用Gradle解决。 Gradle调用NPM(感谢https://github.com/srs/gradle-node-plugin)来测试和构建JS部分,然后构建Java部分。它最终将最终的jar和javascript文件复制到最终的全局构建目录中。 JS文件的名称 - 其中包含一个哈希,你应该保持这个强大的功能! - 被赋予一个由Java应用程序使用的conf文件。

1

我一直在努力了很多找到一个解决方案来排除在我的webapp node_modules。 我添加以下块在我的build.gradle

​​

希望它能帮助。

相关问题