Piral 概述
Piral 是一个基于 React 的 JavaScript 库,用于创建模块化的“微前端”应用。微前端将微服务概念扩展到前端应用,帮助开发者通过将单一的单页应用(SPA)拆分为多个自包含的模块来应对 JavaScript 应用日益增长的规模和复杂性。
微前端的基本结构
一个简单的微前端设置包括一个“壳应用”(shell application),它根据当前路由加载一组自包含的模块。在 Piral 中,壳应用被称为“Piral 实例”,而自包含的模块被称为“Pilets”。两者都可以通过 Piral CLI 生成。
Piral 实例的职责
Piral 实例管理应用的三个方面:
- 应用布局:如页脚、页头等。
- 共享组件:可以在各个 Pilets 之间共享的组件。
- Pilets 的加载和管理:定义 Pilets 如何加载以及它们如何集成共享组件。
Pilets 的多样性
Pilets 是独立的 Web 应用,负责管理网站的不同部分。虽然 Piral CLI 默认使用 React,但开发者可以使用其他库(如 Angular 或 Vue.js)来构建 Pilets,这可以通过提供的插件实现。
开始使用 Piral
安装 Piral CLI:
npm i piral-cli -g
生成 Piral 应用:
piral new --target app-name
这将生成一个包含基础布局的简单壳应用。
- 构建 Piral 应用:
在生成 Pilets 之前,首先需要运行piral build
,这会生成一个包含release
和emulator
两个包的dist
文件夹。 生成 Pilet:
pilet new emulator-name --target pilet-name
其中
emulator-name
可以是 npm 包或本地路径。启动新创建的 Pilet 可以使用pilet debug
,它将在http://localhost:1234/
上提供服务。
依赖的 Feed 服务
Piral 依赖于一个托管 Pilet 实例的 Feed 服务。开发者可以基于提供的示例设置自己的 Feed 服务,或使用 Piral 提供的免费 Feed 服务。
配置 Piral 实例
一旦 Feed 服务设置完成,需要配置 Piral 实例以从创建的 Feed 中拉取 Pilets。这可以通过修改 Piral 应用中的 index.tsx
文件中的 feedUrl
来实现。
开源与贡献
Piral 是一个开源库,遵循 MIT 许可证。鼓励开发者参与 Piral GitHub 项目,并应遵循贡献者公约行为准则。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。