想问一下大家,现在项目中有一套多组件( components )页面,想给用户提供自定义添加组件的能力,如何在不提供源码的前提下提供这样的功能,可以实现吗?
1
redtech 2022 年 2 月 14 日
低代码?
|
3
zzt 2022 年 2 月 14 日
vue 本身是支持动态注册,https://v2.vuejs.org/v2/guide/components-dynamic-async.html 。
|
5
Gaays OP @zzt 就是类似低代码,开发了基础的一些组件,如果用户想添加自定义组件,得提供让用户添加自定义组件的功能,但是同时不提供源码,根据 vue 开发文档,我想到的解决方法是:项目中有一个自定义组件的文件夹,运行时通过动态读文件然后在这个页面引入,实现自定义组件功能?
|
6
9tao 2022 年 2 月 14 日
用户在你的平台上注册组件,提供 umd 规范并且符合你平台注册规范的组件的 js cdn 地址,在项目启动时动态加载这些 js
|
7
doommm 2022 年 2 月 14 日
不光是 js ,附带的 css 也要一并加载
|
8
leonkfd 2022 年 2 月 14 日
利用动态组件即可,<component :is="userSelectComponent" />
最近也开发过一个浏览器起始页,也是能让用户自行去选择自己合适的组件去搭建自己的起始页,组件也是动态按需加载,由用户决定,有空感兴趣可以参考下。 https://howdz.vercel.app |
9
waiaan 2022 年 2 月 15 日
如果没理解错,这个组件应该是事先不存在的。
你可以准备一个文件夹专门用来放用户自定义的组件,webpack 有个功能是可以读取一个文件夹下的所有文件,然后再用上面几位说的方法注册为 vue 的动态组件。 |
10
waiaan 2022 年 2 月 15 日
|
12
zzt 2022 年 2 月 15 日
|