遇到一个比较纠结的问题,关于前端代码打包和后端同步的问题。
先简单介绍一下目前的状况:
公司前端基本用的是Node打包编译代码,后端是Java写的,用的maven打包。
分为三个可执行环境:线上测试环境(本地)
线上预发环境(预发CDN)
线上正式环境(线上CDN)
这种情况下,我们就会分为三种环境打包。测试、预发、线上,而预发和线上的打包的唯一区别就是CDN不一样。
因此,服务端每次部署之前,我们都必须知道服务端部署的是什么环境,我们应该打什么包,然后再merge代码。这是一个非常蛋疼的问题,而且服务端打包也是分环境打包的,那么我想的是,有没有方法可以让服务端一并把我们的资源编译打包呢?
比如说,我用了ES6,我希望我merge的代码就是es6写的源码,在服务器部署的时候能够直接就编译掉
各位大神有什么好的方法能够解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你需要一个远端的编译打包服务,在这台机器上安装node及所有的编译源代码所需的插件,如Babel 等,在源代码里放一个build.sh脚本或者make文件,用于执行你想要的命令,源代码提交Svn或者git 以后配置钩子执行你的脚本,这样就把产出代码和源代码分开了,至于是要上线还是提交测试,完全取决于你在build.sh脚本里写了什么
我写过一个类似的上线服务,通过区分git commit的message来执行不同的操作(是要压缩代码合并图片,还是只是简单的提交测试)。