基于maven的seajs打包

场景:

       业务相关的js使用seajs基础库,项目打包部署时需要使用seajs的spm命令将业务js逐个进行打包。

       为了避免新打包js文件的浏览器缓存,每次打包需要设置一个版本号文件夹,打包时将js文件打到版本号文件夹下。

       项目使用maven构建。

       因此,在使用maven命令打包执行,需要在配置文件中设置版本号和批量执行spm命令。

 

       附:需要替换版本号seajs打包的bat脚本文件(package-corejs.bat) 和 portable-config-maven-plugin配置(profiles/product.xml)如下。其中portable-config-maven-plugin插件能够在mvn package执行完之后替换war包中指定properties文件的内容。

 

       package-corejs.bat

@echo off
cd %~dp0
cd ..
set tmodDir="src\main\webapp\resources\js"
%需要设置的版本号%
set version=0.0.17
cd %tmodDir%

%改变系统编码方式,否则spm命令执行失败%
chcp 850

%清理需要生成的打包目录%
rd /q /s %version%

%create core folder%
md %version%\core
%copy core to target folder%
xcopy core %version%\core /e /y
%create template folder%
md %version%\template
%copy template to target folder%
xcopy template %version%\template /e /y

%跳转到core目录下%
cd core
%针对js文件,逐个执行打包命令%
for /D %%s in (*) do (
  echo package : %%s
  spm build -I %%s -O ../../%version% --idleading core/%%s
)

pause

       profiles/product.xml文件

<?xml version="1.0" encoding="utf-8" ?>
<portable-config>
	<config-file path="WEB-INF/classes/application.properties">
                <!--需要配置的版本号-->
		<replace key='web.param.resource_version'>0.0.17</replace>
	</config-file>
</portable-config>

 

解决:

1. 使用maven的antrun插件,在maven生命周期中的process-resources阶段,读取控制台输入的版本号,并替换配置文件中的版本号信息。

2. 使用maven的antrun插件,在maven生命周期中的process-resources阶段,执行package-corejs.bat脚本,完成seajs文件的生成。

maven-antrun-pl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值