npm 包 surongts 使用教程

阅读时长 8 分钟读完

简介

surongts 是一个让开发者可以在 TypeScript 中使用 Svelte 单文件组件的 npm 包。借助于 surongts,开发者可以拥有一种更加高效和优雅的开发方式,同时增强了代码的可维护性。

在本篇文章中,我们将学习 surongts 的使用方法,包括安装、配置以及使用的具体步骤。

安装

首先,我们需要全局安装 surongts,可以通过如下命令来实现:

配置

安装完成以后,我们需要在项目中引入 surongts,以便项目可以正常使用该 npm 包。

在项目中,我们需要创建一个 tsconfig.svelte.json 文件,以便在编译 TypeScript 代码时使用。该文件包含两个基本的配置项,如下所示:

其中,extends 对应的是该项目中的主 TypeScript 配置文件,而 include 指定了项目中需要编译的文件,这里指定的是 .svelte 后缀的文件。

除此之外,我们还需要在 rollup.config.js 文件中添加如下配置:

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

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

如上所示,我们使用了 typescript2 插件来编译 TypeScript 代码,同时把编译 .svelte 文件的任务交给了 surongts 来完成。

基本使用方法

到这里,我们已经完成了 surongts 的安装和配置工作。接下来,让我们来看一下基本使用方法。

在项目中,我们创建一个名为 App.svelte 的文件,该文件内容如下:

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

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

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

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

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

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

可以看到,我们以 Svelte 单文件组件的形式编写了一个计数器的组件。通过 writable 函数创建了一个 Store,用来存储计数器的值。当用户点击按钮时,调用了 increment 方法对计数器的值做了更新操作。而在组件加载后,我们使用 onMount 方法输出了一个日志信息。

在上节中,我们配置了 surongts 用于编译 .svelte 文件,因此,我们不需要在代码中引入组件。只需要在项目中的其他组件中使用 App 组件即可,例如:

之后,在终端中运行项目即可看到效果。

附:完整代码示例

以下是一个完整的 surongts 项目示例:

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

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

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

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

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

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

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

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

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

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

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

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

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

纠错
反馈