已打包发布的vue项目,能否加载 新的功能

首先,我们一个站点,部署了vue网站。 这部分已经运行正常了。
这天,客户有了新的要求,需要增加一些新的功能。OK, 后台使用动态加载的方式,在原有不改动后台代码的情况下通过扩展dll,添加了新的功能。且功能的方法也发布到用户数据库中。
那么,问题来了。 现在的vue站点,源代码是一家公司的A。 而做新功能的是另一家公司B。 B公司也将新的前端vue页面做好, 这些做好的页面,能否 被加载到 已有的网站系统中 ?

取决于你的网站的基础架构设计。

对于大多数 Vue 站点,所谓新功能就是新页面、新组件、新中间件,相应地更新路由、引用页面,然后重新构建部署即可。

但如果说网站源码丢失了,或者不想重新构建直接部署新模块,那需要站点本身有热更新能力(动态加载模块)。如果没有这个设计,那就无解了。

这个热更要怎么实现? 有demo吗?

简单来讲就是先读取一个模块清单,然后逐个加载模块。Require.js 用过不?站点固定加载一个 /features.js 或者 API 请求一个清单数据,然后一个个 require 并初始化,这就是最简单的热更新模型。

如果目标浏览器都是现代浏览器,import() 也可以,原理相同。

我还是很疑惑。
你说的热更是在开发阶段吗?
我说的是已发布的站点。 在已发布的站点的目录下, 所有的源文件是编译之后的js。 难道 我们可以 附加新的 js文件到站点目录下 来实现热更吗?

不能,所以我说「需要站点本身有热更新能力」

简单的一批,编译后的vue项目又不是死的,代码想咋改咋改。
最简单你直接把index.html里面加一行script然后引用新功能js文件不就得了。

我要表达的意思是: 如果使站点本身就能支持热更?

如下面的index.html

<html>
	<head>
		<meta charset=utf-8>
		<meta name=viewport content="width=device-width,initial-scale=1">
		<title>webTest</title>
		<link rel=stylesheet href=/static/css/reset.css>
		<link href=/static/css/app.21d94ff6832f01b475f604c7eb54d29d.css rel=stylesheet>
	</head>
<body>
	<div id=app></div>
	<script type=text/javascript src=/static/js/manifest.c3a09208dd82e0ee5a41.js></script>
	<script type=text/javascript src=/static/js/vendor.0ceab8af5353b3c0d772.js></script>
	<script type=text/javascript src=/static/js/app.f414a21a96adf6208a14.js></script>
</body>

你的意思是加一句新的

< script type=text/javascript src=/static/js/新功能.js>

吗?

对啊,就这样,完事了