npm 包 electrode-electrify 使用教程

介绍

electrode-electrify 是电极公司开发的一个微前端项目集成方案,通过这个方案,我们可以将多个子应用整合到一个主应用中,同时保证子应用之间的隔离性以及良好的运行效率。

虽然这个方案早在 2019 年就发布了,但是在近段时间内,它逐渐被越来越多的开发者使用。那么,在具体使用 electrode-electrify 这个 npm 包时,我们该如何操作呢?

本篇文章将详细地介绍 electrode-electrify 的使用方法,从安装到实际操作,帮助你更好地了解和使用这个 npm 包。

安装

电极公司提供了一个名为 generator-electrode-electrify 的 Yeoman generator,用于生成自定义的 electrode-electrify 项目。在安装之前,需要先安装 Yeoman,如果你没有安装,可以通过以下命令安装:

--- ------- -- --

然后,我们可以使用 Yeoman 安装 generator-electrode-electrify,同时生成我们的自定义项目。在命令行中输入以下命令:

--- ------- -- -----------------------------

-- -------------------

接下来,我们稍微介绍一下怎样创建项目。

创建项目

使用 Yeoman 创建项目是我们最容易的方式,因为 Yeoman 会自动创建项目并填充一些有用的默认信息。

创建项目时,我们需要首先选择项目的类型,即你的“宿主主应用”。选择完成之后,Yeoman 会自动创建一个项目文件,并自动生成一些示例页面。

下面是一个简单的命令行对话示例:

- ---- ---- -- ---- ----------- -- --- ---- -- ------- ----- ----
- ----- ----- --- ---- -- ------ --- --- -------- -------- ----------
- ------ ---- ------- ----- ------

关于其他的选项,我们在后面会继续讲解。现在,我们可以继续进入下一步:配置。

配置

在 electrode-electrify 中,一个应用程序由多个插件构成。每个插件都有一个名为 plugin.json 的配置文件,用于描述该插件所需的信息。

除了一些基本信息外,plugin.json 文件包含了前端路由、 Redux 状态、生命周期挂钩和多个 CSS 和 JavaScript 数据存储的详细信息。

在 generator-electrode-electrify 创建的项目中,包含 host 和 child 这两个插件。其中,host 插件是主宿主应用程序,而 child 插件则是子应用程序。

编辑好 plugin.json 文件后,我们需要在 Grunt 中注册好它们。Grunt 作为一种任务运行器,可以自动地执行以下操作:

  • 编译 Less 和编译 CSS。
  • 删除 web 资源的临时目录。
  • 合并 JavaScript 和 CSS。
  • 生成缩略图。

电极公司已经将所有重要的 Grunt 任务设置成 npm 脚本,因此您只需在 package.json 文件中添加项目的命令即可:

-
  ------- ---------
  ---------- -
    -------- ------ -- -- ---- -- --- -------
    -------------- --- ---- -- --- --- -------
    ------- ------ --------------- -- --- --- ----------
    ----------- ------- ------------------- -- ----- ------
    ----------- ----- ---------
    ------------ ---------- --------------- ---- -------- ------------------------------
    ------------- ----- ---------
    -------- ------ -- --- --- ---------- -- --- --- -------------
    -------------- --- -------------- -- --- --- -------
    ------------- --- ------------- -- --- --- -------
    --------- ---- --- ---------- -- ------ ----- ------------------- ---
    ---------- ---- --------
  --
  --------------- -
    -------------------------------- --------
  --
  ------------------ -
    -------------------------------------- ---------
    -------- ---------
    ---------------------------------- ---------
    ---------------------- ----------
    ------------------------- ---------
    ----------- ---------
    ------------ ---------
    ------------ ---------
    --------- ---------
    ------ ---------
    ------------------------ ----------
    ----------------------------- ---------
    ------------------------------------ ---------
    ------------------------- ---------
    ----------------------- ---------
    ---------------------------------- ---------
    ---------------------------- ---------
    ------------------------------ ---------
    ------------------------- ---------
    -------------------------------- ---------
    ------------------- ---------
    ------------------------------- ---------
    -------------------------- ---------
    ----------- ---------
    -------- ---------
    -------------- ---------
    --------------------- ---------
    ---------------------- ---------
    ------------------------- ---------
    ----------------------- ---------
    --------------------- ---------
    ----------------------- ---------
    ----------------------- ---------
    --------------------- ---------
    ----------------------- ---------
    --------------- ----------
    ------------- ---------
    ------------------- ----------
    -------------------------- ---------
    -------------------- ---------
    ------------------ ---------
    --------------------- ---------
    ----------------- ---------
    -------------- ---------
    ------------ ---------
    ----------- ----------
    ---------- ---------
    ------- ----------
    ------------------------- ---------
    --------- -----------
    -------------- ---------
    -------- ---------
    ----------- ---------
    ------------- ---------
    -------------------- ---------
    ------------ ---------
    ----------------------------- ---------
    ------------- ---------
    ------------- --------
  --
  ---------- -
    ------- ----------
  -
-

子应用

在 electrode-electrify 中,一个子应用代表着由若干个 React 组件组成的独立应用程序,有自己的代码和样式表、独立的路由和 Redux 引擎。

在一般的 React 应用中,我们将应用程序分割为若干个组件,但在电极电子中,我们将应用程序分割为若干个独立的子应用。

现在,我们可以创建新的子应用。在命令行输入以下命令:

-- -----------------------

Yeoman 会询问您有关子应用的一些信息,包括它的名称、其路由、其 Redux 引擎和其样式表、脚本和数据。

- ---- ----- --- ---- -- ---- --- ----- ------------ ------------
- ---- -- --- --- ---- --- --- ----- ------------ ------
- ----- --------- -- --- ---- -- --- --- ---- ----- ------------ ---- ----- -----
- ----- 
  ---------

在我们创建子应用后,以下是一些子应用的事项:

  • 像主宿主应用一样,子应用由一组插件组成,每个插件都有 plugin.json。
  • 每个插件都有自己的 Redux 引擎,需要在代码中引入所有子应用的 Redux 引擎。
  • 可以使用插件一区分子应用,该插件包含子应用的与路由引擎有关的JavaScript代码。

添加 Redux 动作

在 plugin.json 中定义 Redux 动作很简单。下面是一个简单的示例:

-
  ---------- -
    ----------- -
      ------- ---------
      ---------- ----------------
      -------------- --- ------ -------------
    -
  -
-

在你的代码中,你可以像这样捕捉这些动作:

------ - ------ - ---- --------------------------------------------

-------------------
-------- ---------------------- -------- - -- ------- -------------- -- -

运行

最后,我将介绍如何运行你的 electrode-electrify 项目。我们可以在 package.json 文件中添加一些内置的 npm 命令,这些命令可以帮助您在开发\生产环境中运行项目。

在命令行中输入以下命令,然后我们就可以愉快地开始开发了:

--- -----

或者,对于调试:

--- --- -----

这些命令将启动 Grunt 任务运行器,然后通过 npm scripts 启动主宿主应用程序。

结论

在本篇文章中,我们介绍了 electrode-electrify 的基本内容,从安装和使用开始,到配置和运行。希望这个教程可以帮助到那些想学习使用这个 npm 包的开发者,也希望能给那些正在寻找微前端方案的开发者一些启发。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/67909


猜你喜欢

  • npm 包 kung-fig-common 使用教程

    介绍 kung-fig-common 是一个基于 JSON 格式的配置文件管理库,它可以将配置文件维护在单独的文件中,并提供了方便的 API 接口来读取和写入配置文件内容。

    5 年前
  • npm 包 kung-fig-template 使用教程

    介绍 kung-fig-template 是一款方便快速生成 HTML 和 CSS 基本结构的 npm 包。它基于 figlet 和 chalk 两个 npm 包,可以在命令行中生成 ASCII 字符...

    5 年前
  • npm包kung-fig使用教程

    在前端开发过程中,经常会使用到各种各样的npm包来实现功能。而kung-fig是一种非常常用的npm包,它可以快速的生成mock数据和配置文件。在本篇文章中,我们将对kung-fig这个npm包进行详...

    5 年前
  • npm 包 stream-kit 使用教程

    在前端开发过程中,经常需要进行数据的处理和转换。Node.js 中提供了 Stream API 来帮助我们进行这些操作,但是 Stream API 的使用也存在一些困难。

    5 年前
  • npm 包 jsbindat 使用教程

    作为前端开发者,我们经常需要用 JavaScript 来处理二进制数据。在不同的场景下,我们可能需要将二进制数据转换成其它格式的数据以便使用,例如将 ArrayBuffer 转化成字符串。

    5 年前
  • npm 包 hash-kit 使用教程

    在前端开发中,经常需要对文本、密码等敏感信息进行哈希处理,以提高安全性。而 npm 包 hash-kit 则提供了一种便捷的方式来实现哈希处理,并支持多种常用的哈希算法。

    5 年前
  • npm 包 fs-kit 使用教程

    前言 在前端开发中,文件系统操作是很常见的需求,例如读取或写入文件、创建或删除目录等等。Node.js 原生提供了 fs 模块用于文件系统操作,但是使用起来比较麻烦,需要手动处理回调函数、异常情况等等...

    5 年前
  • npm 包 svg-kit 使用教程

    前言 随着前端技术的发展,越来越多的项目需要使用 SVG 图标。但是,SVG 图标的制作和管理十分繁琐。为了解决这个问题,一些前端工程师们开发了 npm 包 svg-kit,它可以方便地管理和使用 S...

    5 年前
  • npm 包 qs-kit 使用教程

    介绍 qs-kit 是一个使用简便的 JavaScript 库,提供了一系列的操作方法,用于操作 URL 中的查询字符串。 安装 使用 npm 进行安装: --- ------- ------使用 以...

    5 年前
  • npm 包 server-kit 使用教程

    什么是 server-kit? server-kit 是一个针对 Node.js 服务器端开发的 npm 包。它提供了一些常用的功能和便利的接口,可以帮助开发者提高效率,减少重复开发的时间和精力。

    5 年前
  • npm 包 nomi-ninja 使用教程

    在前端开发中,我们经常需要使用各种 npm 包来帮助我们完成工作。nomi-ninja 是一个非常实用的 npm 包,它能够快速地生成多个文件并且自动引入。 安装 nomi-ninja 在开始使用 n...

    5 年前
  • npm包math-kit使用教程

    简介 npm包是一种基于Node.js的包管理工具,可以方便地下载、安装、管理前端开发所需的各种包。math-kit是一个用于数学计算的npm包,提供了各种数学函数以及其他有用的工具,使得在前端开发中...

    5 年前
  • npm 包 spellcast 使用教程

    什么是 spellcast spellcast 是一个 npm 包,用于拼写检查和自动纠错。它使用 petercorke/spelling 包来进行拼写检查和自动纠错。

    5 年前
  • npm 包 feather2-postprocessor-inline-compress 使用教程

    什么是 feather2-postprocessor-inline-compress feather2-postprocessor-inline-compress 是一个 Feather2 前端框架的...

    5 年前
  • npm 包 winreg 使用教程

    在前端开发中,经常需要与本地电脑系统进行交互。如何在 Node.js 中获取 Windows 注册表信息就是其中一个常见的问题。为了解决这个问题,我们可以使用 npm 包 winreg。

    5 年前
  • 使用 fx-runner npm 包进行前端开发

    当我们进行前端开发时,可能会涉及到动画和效果的实现。在这方面,fx-runner 这个 npm 包可以为我们提供一些帮助。fx-runner 是一个轻量级的 JavaScript 动画库,它可以帮助我...

    5 年前
  • npm 包 mozilla-toolkit-versioning 使用教程

    前言 版本控制是软件开发中非常重要的一部分。Mozilla 基金会推出了一款 npm 包,叫做 mozilla-toolkit-versioning,旨在提供一种简单而强大的方法来管理项目的版本。

    5 年前
  • npm 包 jpm-core 使用教程

    什么是 jpm-core jpm-core 是一个通过 JavaScript 实现的前端项目构建工具。它提供了一系列的基本指令,可以轻松地完成项目的构建、打包、压缩以及代码优化等任务。

    5 年前
  • npm 包 jetpack-validation 使用教程

    前言 在前端开发中,表单的验证是一个非常重要的环节。而随着项目规模的增大和业务逻辑的复杂化,表单验证的处理逐渐显得繁琐枯燥。Jetpack-validation 是一个基于 Vue.js 的验证插件,...

    5 年前
  • npm package mozilla-version-comparator 使用教程

    前言 在前端开发过程中,经常会需要对多个版本的浏览器进行版本号的比较和处理。对于不同浏览器版本的特性支持度的问题,我们通常需要通过版本号的比较来实现适配,因此,版本号处理成为前端开发中不可或缺的内容。

    5 年前

相关推荐

    暂无文章