1
Bingchunmoli 2023-08-02 13:18:03 +08:00 via Android
我遇见些 html 的每个页面 new 一次 Vue 但后来的公司都是脚手架至少总体一个
|
2
LandCruiser 2023-08-02 13:19:40 +08:00
有外部系统引用你们的系统
|
3
coderMonkey OP @LandCruiser 引用为啥需要多实例
|
4
IvanLi127 2023-08-02 13:28:32 +08:00 via Android
怕牵一发而动全身的情况下?你这个好像不算多实例,一个页面一个实例,多个 SPA 罢辽。
|
5
iOCZ 2023-08-02 13:30:07 +08:00
如果是单页面,那就一个实例。如果多页面,那每个页面一个实例。
|
6
tsanie 2023-08-02 13:33:31 +08:00
见过一块 div 一个实例的没有 /doge
|
7
coderMonkey OP @iOCZ 多页面我也可以一个页面直接做组件啊,然后路由跳转不行嘛
|
8
weixiangzhe 2023-08-02 13:43:50 +08:00
弹窗 toast 类渲染到根部吧
|
9
imben 2023-08-02 14:20:43 +08:00
多页应用对 seo 更友好些
|
10
LandCruiser 2023-08-02 14:27:59 +08:00
@coderMonkey 每个外部系统需要的功能不一样,通过一个统一的入口暴露不合适。
|
11
iOCZ 2023-08-02 14:31:04 +08:00
@coderMonkey 你那个叫单页面应用
|
12
wednesdayco 2023-08-02 14:37:23 +08:00
这不就是 MPA 和 SPA 的区别= =
|
13
HashV2 2023-08-02 14:43:44 +08:00
|
14
lisongeee 2023-08-02 14:56:16 +08:00
某些组件库会提供命令式的弹窗/通知方法,这种情况下创建的组件是独立的 vue 实例
|
15
nulIptr 2023-08-02 14:59:37 +08:00
建议一步到位了解一下微前端是啥概念。。。
|
16
coderMonkey OP @wednesdayco @iOCZ @HashV2 学到了,确实是 SPA 和 MPA 的区别,那什么情况下需要在 SPA 中创建多个实例呢,我看 Vue 的官方文档里说的是“想要 Vue 去控制一个大型页面中特殊的一小部分的时候需要创建多个实例”,不是很能理解
|
17
obulks 2023-08-02 16:13:45 +08:00
你应该问你们的前端,而不是问我们
|
18
molvqingtai 2023-08-02 16:18:36 +08:00
@coderMonkey #16 前端控制路由用一个实例,每个页面一个实例应该是后端控制路由,相当于把 Vue 当高级的 Jquery 使用
|
19
learningman 2023-08-02 16:22:39 +08:00 via Android
@coderMonkey 现在这个网页已经写好了,100 万行代码,你想用 vue ,你是打算把整个页面全部重写一遍,还是挂一小块先把需要加的新功能给加上?
|
20
thinkershare 2023-08-02 16:25:04 +08:00
因为很多软件并不需要 SAP, 而只是仅仅将 Vue 作为一个 View Render Engine 。这种场景下完全可以使用 Vue, 但不使用任何现代化的前端构建工具。我们就有项目这样用过。
|
21
thinkershare 2023-08-02 16:25:15 +08:00
SPA
|
22
charlie21 2023-08-02 16:31:14 +08:00
@thinkershare 这等于在使用一个(带虚拟 DOM )的 jquery , 用 vue ,在最小情况下,来控制一个 div
|
23
wu67 2023-08-02 16:34:53 +08:00
部分重构又不想推倒整个项目, 又想换用新的技术, 在实际项目进行中就会出现这种情况.
你公司这是多页面应用了, 你说的和 vue 官方文档默认的路子是单页面应用. 还有另一种用法是维护一个通用框架页面(只有 header menu 和 tab), 然后把旧项目通过前者的 iframe 嵌套, 新模块通过单独新开项目的形式维护, 同样套到 iframe, 然后在主框架项目里面配置 tab 和路由. |
24
ZGame 2023-08-02 16:58:28 +08:00
twitch 那个直播观看插件页面才是对微前端最好的一个例子!
|
25
MENGKE 2023-08-02 18:24:26 +08:00
@weixiangzhe 常见的场景只能想到 toast
|
27
hgaogao 2023-08-03 12:25:31 +08:00 via iPhone
有些组件是命令式调用所以需要用到第二个实例来进行挂载,比如 model 、全凭的 loading
|
28
cnuser002 2023-08-03 14:28:56 +08:00
你现在直接用 Vue 开新坑,基本都是单页应用。
但 VUE 把自己叫做渐进式 Javascript , 它也可以在直接在 HTML 的 Script 中声明一个 Vue 实例,然后挂载到页面上的某个元素。 中途加入 Vue 的项目一般就会用这种方式。 |