IMA.js
IMA.js 是一个应用程序开发栈,用于开发用纯 JavaScript 和 React 编写的同构应用程序。
为什么我们使用 IMA.js,以及你为什么也应该使用它?
在 Seznam.cz,前端应用程序的开发伴随着许多需要在项目公开之前打勾的选项。这主要是因为用户群体多样化以及产品需求具有挑战性。
为了避免在每个项目中都重新发明轮子,并解决所有这些问题(选项),我们创建了 IMA.js 框架。以下是我们最引以为傲的一些要点
- 同构 - 应用程序逻辑首先在服务器端执行,生成页面标记,当应用程序逻辑在客户端执行时,它会自动绑定到服务器生成的标记,并像单页应用程序(或如果客户端不支持 JavaScript 则为多页应用程序)一样运行。这使得加载时间更快,开箱即用地支持网络爬虫,并提供更好的整体用户体验(或简称 UX)。
- 兼容 React - IMA.js 视图扩展了 React 组件,并与我们的控制器紧密配合。这意味着您可以使用 React v16 的全部功能,而不会丢失任何东西。
- 生产就绪 - 无需额外的设置或配置。IMA.js 从一开始就使用特定于环境的配置。
- 经过实战检验 - IMA.js 用于 Seznam.cz 的各种项目。其中一些项目突破了前端应用程序的极限。
文档
我们为您准备了一个完整的教程:您的第一个 IMA.js 应用程序。本教程涵盖了使用 IMA.js 创建同构 Web 应用程序的基础知识,但您也会在其中遇到一些更高级的概念。
有关 IMA.js 的更多详细信息,请参阅完整文档以及imajs.io上的更多信息。
IMA.js 主要部分
- 核心 - 它包含基本类和日常工作的通用类,允许您进行服务器端渲染并在浏览器中进行应用程序水合。
- 服务器 - 它包含允许您将 IMA 应用程序与 express 框架连接起来的方法。
- gulp-tasks - IMA.js 使用 gulp 进行捆绑和自动化。有准备好的通用任务和基本配置。
插件
请参阅ima-plugins存储库以获取可用的 IMA.js 插件。
入门
使用单个命令初始化应用程序骨架
npx create-ima-app
# or if you are using yarn
yarn create ima-app
并开始开发!
cd create-ima-app
npm run dev
# or if you are using yarn
yarn dev
贡献
请参阅如何贡献。