我们都知道,对于node来说,前端vue代码的迭代节奏是很快的,可能一周要迭代几次,但是node的迭代却没那么平凡,可能一周更新一次甚至更久,那么为了node服务的稳定,减少node服务的发布次数,是非常有用的。 配置中心是肯定需要的,因为需要通过配置不同的资源版本号,来通知node服务更新服务上的版本号 那么 我们的vue代码 要如何改造才能实现热更新呢? 我们就以vue官方给的例子来看
以下代码是我截取的两段代码官方案例:
首先他定义了一个createRenderer的方法
里面调用的是vue-ssr的createBundleRender方法来创建的渲染函数
然后传入了使用了三个文件,template.html bundle.json 和clientmanifest.json
这里可以看到 在createRender的时候 传入的clientMainfest bundle 都是reqire的 那么有同学会想,我要支持热更新 是不是根据require的缓存机制,去定时的清理缓存?虽然也能实现但是其实不用的 我查询了官方的api文档,其实bundle支持三种参数
然后再看下vue的源码,如果传入的是一个绝对路径,类似于上面这个案例 require某个dist目录下的bundle.json文件的时候 做了什么处理
它判断 如果是一个js 或者json文件路径的 那么 他会先读取这个文件,然后通过json转化一下成对象,然后再走下面的判断是否是oject逻辑 那么,我们不是可以替他做这个事情嘛 我们可以从远程读取到bundle文件 然后将他转化成bundle 然后传入给createBundleRender方法 就可以不用通过require方法去获取了 然后远程bundle文件加上版本号,就可以实现通过配置来热更新
http://market.szonline.net/amaz/23015.html
http://market.szonline.net/amaz/23014.html
http://market.szonline.net/amaz/23013.html
http://market.szonline.net/amaz/23012.html
http://market.szonline.net/amaz/23011.html
http://market.szonline.net/amaz/23010.html
http://market.szonline.net/amaz/23009.html
http://market.szonline.net/amaz/23008.html
http://market.szonline.net/amaz/23007.html
http://market.szonline.net/amaz/22951.html
http://market.szonline.net/amaz/22950.html
http://market.szonline.net/amaz/22949.html
http://market.szonline.net/amaz/22947.html
http://market.szonline.net/amaz/22946.html
http://market.szonline.net/amaz/22945.html
http://market.szonline.net/amaz/22944.html
http://market.szonline.net/amaz/22941.html
http://market.szonline.net/amaz/22936.html
http://market.szonline.net/amaz/22931.html
http://market.szonline.net/amaz/22926.html
http://market.szonline.net/amaz/23006.html
http://market.szonline.net/amaz/23005.html
http://market.szonline.net/amaz/23004.html
http://market.szonline.net/amaz/23003.html
http://market.szonline.net/amaz/23002.html
http://market.szonline.net/amaz/23001.html
http://market.szonline.net/amaz/23000.html
http://market.szonline.net/amaz/22999.html
http://market.szonline.net/amaz/22998.html
http://market.szonline.net/amaz/22997.html
http://market.szonline.net/amaz/22996.html
http://market.szonline.net/amaz/22995.html
http://market.szonline.net/amaz/22994.html
http://market.szonline.net/amaz/22993.html
http://market.szonline.net/amaz/22992.html
http://market.szonline.net/amaz/22991.html
http://market.szonline.net/amaz/22990.html
http://market.szonline.net/amaz/22989.html
http://market.szonline.net/amaz/22988.html
http://market.szonline.net/amaz/22987.html
http://market.szonline.net/amaz/22986.html
http://market.szonline.net/amaz/22985.html
http://market.szonline.net/amaz/22983.html
http://market.szonline.net/amaz/22855.html
http://market.szonline.net/amaz/22853.html
http://market.szonline.net/amaz/22850.html
http://market.szonline.net/amaz/22848.html
http://market.szonline.net/amaz/22845.html
http://market.szonline.net/amaz/22843.html
http://market.szonline.net/amaz/22840.html
http://market.szonline.net/amaz/22838.html
http://market.szonline.net/amaz/22835.html
http://market.szonline.net/amaz/22833.html
http://market.szonline.net/amaz/22830.html
http://market.szonline.net/amaz/22922.html
http://market.szonline.net/amaz/22917.html
http://market.szonline.net/amaz/22912.html
http://market.szonline.net/amaz/22908.html
http://market.szonline.net/amaz/22854.html
http://market.szonline.net/amaz/22851.html
http://market.szonline.net/amaz/22849.html
http://market.szonline.net/amaz/22846.html
http://market.szonline.net/amaz/22844.html
http://market.szonline.net/amaz/22841.html
http://market.szonline.net/amaz/22839.html
http://market.szonline.net/amaz/22836.html
http://market.szonline.net/amaz/22834.html
http://market.szonline.net/amaz/22831.html
原文:https://www.cnblogs.com/zjw2004112/p/11831643.html