javascript – 使用Gradle和Webpack进行Spring Boot

我在客户端上使用
Spring Boot和JS编写了一个应用程序.所有JS& CSS代码存储在src / main / webapp中,并使用Webpack编译到同一目录.将编译的bundle放在那里似乎很脏,但我想知道是否有办法将它存储在构建目录中?

我已经设法使用build.gradle中的下一个代码将其添加到war文件中

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

但我不知道如何为bootRun任务或Intellij Idea实现相同的效果.

另外,我如何排除存储在src / main / webapp / js和src / main / webapp / scss中的源文件?管理Web资产有哪些最佳实践?

最佳答案 你应该看看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文件.

点赞