Podium 是一个基于 Web Components 的微前端解决方案,能够帮助开发者构建符合业务需要的独立模块并以组件化方式提供给其他开发者使用。它是一个由 Zalando 开发并维护的开源项目,可通过 npm 安装使用。
安装
在项目根目录下执行以下命令进行安装:
npm install @podium/client --save
使用
创建 Podlet
- 在项目中新建一个 podlet 文件夹,并在其中创建
manifest.json
文件,内容如下:
-- -------------------- ---- ------- - ------- ------------ ---------- -------- ---------- - ------- ------- ------ -------------- -- --------------- -- -
其中,name
必须是唯一标识符,用于区分不同的 Podlet;version
表示版本号;content
中的 type
表示页面类型,这里使用了 HTML 页面;src
表示页面路径;dependencies
中可以添加依赖项。
在
index.html
中编写 Podlet 内容,可以包括 CSS 和 JavaScript。在
server.js
中启动 Podlet:
-- -------------------- ---- ------- ----- ------ - -------------------------- ----- ------ - --- -------- ----- ------------ -------- -------- --------- ---- --------- ----------------- --- -------------------------- ----- ---- -- - ----------------------------- --- ------------------------- ----- ---- -- - --------------------------------------- --------------- ---
其中,Podlet
的构造函数接收一个对象,包含 name
、version
、pathname
和 manifest
四个属性,分别表示标识符、版本号、路径和 manifest 文件路径。在 server.js
中通过 res.podiumSend()
方法返回 Podlet 内容。
使用 Podlet
- 在需要使用 Podlet 的项目中,安装
@podium/client
:
npm install @podium/client --save
- 在页面中引入
podium-client
:
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- ---------------- --------- ------------ ------- ------------------------------------------------ ------- ------ ----------------------- ------- -------
- 在 JavaScript 中注册并使用 Podlet:
-- -------------------- ---- ------- ----- ------------ - -------------------------- ----- ------ - --- -------------- ----- ------------ ---- ------------------------- --- ----- ------ - ------------------ ----- --------- - ------------------------------------ ------------------------------ --------------- -- - ------------------- ----------- ---
其中,PodiumClient
实例化时接收一个对象,包含 name
和 uri
两个属性,分别表示 Podlet 的标识符和地址。client.register()
返回一个 Podlet 实例,在页面中使用 appendChild()
方法将其添加到容器中,并通过 podlet.mount()
方法挂载 Podlet。
总结
Podium 是一个非常优秀的微前端解决方案,能够帮助开发者构建独立模块并以组件化方式提供给其他开发者使用。本文介绍了 Podium 的安装和使用方法,希望对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/44945