使用 cardstack-editor npm 包的完整教程

阅读时长 9 分钟读完

什么是 cardstack-editor?

cardstack-editor 是一个基于 React 的 npm 包,它可以提供一个用户友好的卡片编辑器界面。它可以被用于在你的项目中创建类似 Trello、Wireframe 等应用的选择卡片、选项等。cardstack-editor 依靠 ember.js 开发的 cardstack 项目构建(仅仅是构建系统,不依赖框架本身)。

什么是 npm 包

npm 包是在 JavaScript 开发生态系统中用于分享模块化代码的标准。npm 是一个由 JavaScript 社区驱动的软件注册表,用于安装和管理软件包的。要使用一个与版本控制的包,可以使用 npm 包。

功能和特色

cardstack-editor 提供了一些灵活的功能。以下是一些它的特性:

  • 快速搭建。cardstack-editor 提供了一些快捷的方式来搭建一个可视化编辑器的 UI 界面,使得人们不必担心样式、样板代码等问题。
  • 灵活多样。cardstack-editor 提供了多种卡片类型,包括图像、链接、列表、文本、音频和视频。它还支持多种布局方式,包括 split, grid, columns, 和 full width.
  • 可扩展性。cardstack-editor 的组件可以通过 slot 被扩展,这样你就可以获得更大的灵活性。
  • 模块化。cardstack-editor 被分解成小的可重用的部分,这使得扩展、修改等操作非常方便。
  • 易于使用。cardstack-editor 提供了可代码化和可视化编辑器的两种编辑方式(即编辑拖放). 这使得整个界面设计可以用一种非常合理的方式来实现。

下面就来介绍一下有关这些特性的详细信息。

安装和环境准备

使用npm安装

使用Yarn安装

快速起步

cardstack-editor 主要由三部分构成,分别是 cardstack-editorcardstack-cardslot-creator,下面我们来逐个介绍如何使用它们。

一、使用 cardstack-editor

cardstack-editor 是整个编辑器的主体部分,我们首先在 React 页面的入口处引入它。你可以把它作为父级组件,包含所有其他的卡片组件。

二、使用 cardstack-card

cardstack-card 是卡片的具体实现,分为可见区和可编辑区,默认只有可见区,如果需要添加可编辑区的话需要设置 isEditable 为真。

这些组件通常是通过卡片编辑器组件方式引入的。

下面的代码演示了如何使用 cardstack-card

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

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

注意到其中的 type 参数是可以被覆盖的,这样可以定义不同的卡片类型,例如:

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

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

三、使用 slot-creator

为了使用 slot-creator,我们首先需要先创建一个 slot-creator 组件。在 cardstack-editor 主体中定义了哪些插槽,就在插槽的主体中放置对应的卡片就好。

有了 my-slot 插槽之后,我们下面就可以让它去渲染相应的 cardstack-card 了:

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

编辑一个可视化卡片

要想编辑卡片,我们需要给它添加编辑功能。可以通过设置isEditable 属性为 true 来启动编辑器。

然后,我们可以使用 onSaveonCancel 属性函数来处理保存和取消编辑功能:

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

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

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

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

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

扩展卡片新的属性

在定义一个新卡片时,你可以添加一些新的属性,以便在编辑器上进行扩展,例如增加检查项功能:

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

你也可以在定义 cardstack-card 时进行扩展。

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

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

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

打包发布自己的组件

如果我们想把自己建立的卡片组件发布到 npm 上,需要在 package.json 文件中声明它们。下面是一个基本的配置示例:

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

然后构建你的卡片组件并导出它们,最后就可以发布到 npm 上。

总结

这篇文章介绍了如何使用 cardstack-editor npm 包,这是一个提供了用户友好的卡片编辑器界面的 npm 包。我们从环境准备、使用快速起步、编辑器的主体、添加编辑、扩展卡片新功能、发布自己的组件等方面进行了详细说明。相信读者们可以根据这篇文章提供的内容来学习、使用和扩展这个 npm 包。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c93ccdc64669dde5b16

纠错
反馈