Single-Spa学习

触摸single-spa之道

什么是single-spa?

single-spa是一个在前端应用程序中汇集多个javascript微内容的框架。 使用single-spa构建您的前端可带来许多好处,例如:

  • 在同一页面上使用多个框架而无需刷新页面(React,AngularJS,Angular,Ember或您正在使用的任何内容)
  • 独立部署微内容。
  • 使用新框架编写代码,而无需重写现有应用程序
  • 延迟加载代码,用于改善初始加载时间。

诞生概述

single-spa通过将生命周期应用于整个应用程序,从现代框架组件生命周期中获取灵感。 它的诞生起源于Canopy希望使用 React + react-router 而不是永远坚持使用我们的AngularJS + ui-router应用程序,现在single-spa支持几乎所有框架。
由于JavaScript因其众多框架的短命而臭名昭着,因此single-spa的设计者决定让开发者们想要的任何框架都很容易。

  1. 应用程序,每个应用程序本身就是一个完整的SPA(有点)。 每个应用程序都可以响应url路由事件,并且必须知道如何从DOM引导,装载和卸载它们。 传统SPA和单一spa应用程序之间的主要区别在于它们必须能够与其他应用程序共存,并且它们不是每个都有自己的html页面。

    例如,您的React或Angular SPA是应用程序。 处于活动状态时,它们会侦听URL路由事件并将内容放在DOM上。 处于非活动状态时,它们不会侦听url路由事件,而是完全从DOM中删除。

  1. 单个spa-config,它是html页面和使用single-spa注册应用程序的JavaScript。 每个应用程序都注册了三件事:
  • 一个名字
  • 加载应用程序代码的函数
  • 用于确定应用程序何时处于活动/非活动状态的功能

很难使用吗?

从技术栈架构上来说

single-spa适用于 ES5,ES6 +,TypeScript,Webpack,SystemJS,Gulp,Grunt,Bower,ember-cli或任何可用的构建系统。 开发者可以通过npm安装它,jspm安装它,或者如果愿意,甚至只需使用