Webpack前端整合到SpringMVC项目中
¶背景
容器引擎系统不支持直接部署Nodejs环境,需要结合maven插件在jenkins构建阶段编译Webpack项目。这里我把前端代码整合到SpringMVC项目中,作为一个整体工程进行打包部署。
SpringMVC是已有项目,需要保留旧版本。这次重构前端,并在后端添加单独API模块。
¶目录结构
1 | |-- src |
如上所示,
frontend
是Webpack项目,可以单独在Webstorm进行开发运行。如果要在SpringMVC工程中编译Webpack并部署到Tomcat,需要对pom.xml作少许改动,添加相应的maven插件。
¶编译方式
主要用到maven-war-plugin
、frontend-maven-plugin
两个插件。
¶frontend-maven-plugin插件
下载nodejs到指定目录,执行Webpack编译命令。
¶maven-war-plugin插件
将Webpack编译后的文件放到target指定目录。
1 | <plugin> |
¶配置文件
¶sitemesh配置
SpringMVC使用sitemesh+JSP,无法直接访问新增的html及api,需要修改sitemesh配置文件
我的sitemesh配置文件路径为src/main/webapp/WEB-INF/decorators.xml
1 |
|
¶spring配置
访问静态资源时,根据配置的
mapping
到指定的location
下寻找资源文件。不配置静态资源,访问时会报
404 NOT FOUND
错误
1 | <!-- 静态资源映射 --> |