webjars 的优缺点
webjars 已经出现很多年了,以下是整理一些优缺点
优点
- 便于java 体系web 资源的分发以及持续集成
- 天然支持多版本(格式约定)
- 直接基于classpath 的处理机制可以实现资源的路由寻址(天然支持+部分框架特性,比如servlet,spring 。。。)
缺点
- maven 工具多版本支持需要特殊处理(默认比较难,因为多版本会被覆盖),但是我们可以通过其他构建模式支持多版本
- webjars locate 工具集成,默认是处理一个版本webjars,所以此工具就不好用了,同时对于spring 来说版本就不能直接很好的支持了
- 使用相对费事,需要npm 构建以及集成maven,尽管已经有了frontend-maven-plugin 插件,但是对于前端同学来说,肯定是不想学习的
- 前后端分离模式对于webjars 冲击比较大,现在一般是web独立部署,使用npm包,同时会结合s3(oss) 等,所以webjars 的优点就不明显了
- webjars 应用范围相对狭窄(主要还是java 体系),但是npm 一直是可以很方便的集成到各种开发语言中
一些可选的替换方法
- unpkg
unpkg 是一个很不错的选择,多版本以及生态也比较好,我们可以方便的搭建一个私服,实现灵活的管理, 而且可以支持很好的和npm 生态集成 - s3(oss)
s3 实际上是一个存储服务,但是我们可以基于webjars 的标准,直接将数据存储在s3中,同样也可以实现灵活的版本控制,而且还能实现加速,权限控制
说明
以上是自己的一些整理,希望对大家有用
参考资料
https://github.com/eirslett/frontend-maven-plugin
https://unpkg.com/
https://github.com/mjackson/unpkg