npm 包 @the-/entrypoint 使用教程

简介

@the-/entrypoint 是一个 npm 包,提供了前端项目中入口文件的创建、扩展、修改等功能。该包基于 Nodejs / Commonjs 模块规范,支持 ES module 和 TypeScript。使用该包,可以将前端项目的入口文件处理流程规范化,更好地支持代码拆分,降低代码耦合性,提高代码复用率。

安装

可以使用 npm 或 yarn 安装 @the-/entrypoint 包。

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

或者

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

使用

基本用法

在项目的入口文件中引入@the-/entrypoint 包,并使用其 create 函数创建入口文件。

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

配置项

create 函数可以接收配置项参数,用于修改默认行为。下面是 create 函数支持的配置项:

配置项名称 类型 默认值 说明
autoRequire boolean false 是否执行入口文件,默认false,自定义文件执行
onInit Function async () => {} 入口文件对象初始化时执行的回调函数
onReady Function async () => {} 入口文件对象就绪时执行的回调函数
onApply Function async (_, handlers) => handlers.apply() 入口文件对象应用时执行的回调函数,handlers 是入口文件对象操作函数的集合,参考下面的 Handlers 小节
onDispose Function async () => {} 入口文件对象释放时执行的回调函数

下面是一个使用配置项的例子:

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

Handlers

create 函数返回的值包含的属性,都是用于操作入口文件对象的函数。这些函数集合被称为 handlers。下面是 handlers 的简要说明:

函数名称 说明
add 添加函数
get 获取函数
set 设置函数
getAll 返回所有已经注册过的处理函数和编号。格式为对象,键是编号,值是处理函数
apply 执行并返回入口函数

下面说明 handlers 的使用:

add 函数是添加入口函数的函数,需要传入一个入口函数,返回添加后的入口函数编号。编号可以用于 get 函数获取入口函数。例如:

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

get 函数是获取入口函数的函数,需要传入一个入口函数编号。如果找到对应的函数,返回该函数;否则返回 undefined。

set 函数是设置入口函数的函数,需要传入入口函数的编号和新的入口函数。如果找到对应的函数,替换成新的函数,返回 true;否则返回 false。

getAll 函数是获取所有的入口函数,返回一个键值对的对象,键是入口函数编号,值是入口函数。例如:

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

apply 函数是执行入口函数的函数,返回执行结果。例如:

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

结语

通过上述文章,你已经可以使用@the-/entrypoint 包,规范入口文件的开发、修改、扩展等工作,更好地支持代码拆分、降低代码耦合性、提高代码复用率。当然,@the-/entrypoint 包还有更多特性,细节可以参考官方文档。

示例代码

更全面的示例代码,可以参考下面的代码:

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

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


猜你喜欢

  • npm 包 atom-space-pen-views 使用教程

    简介 atom-space-pen-views 是一个基于 atom 和 space-pen 的可重用视图组件库,它提供了一些 UI 组件和丰富的 API,可以方便地构建 Atom 插件或其他 web...

    5 年前
  • npm 包 assertf 使用教程

    什么是 assertf assertf 是一个旨在保证函数实际参数满足要求的 NPM 包。包括但不限于类型检查、正则表达式匹配、枚举型限定等。 如何安装 assertf --- ------- ---...

    5 年前
  • npm 包 adventure 使用教程

    概述 在前端开发中,很多任务需要手动完成,比如批量重命名、压缩图片、拉取远程代码等。这些任务通常是繁琐且需要大量的时间和精力,因此,我们需要一个能够方便完成这些任务的工具。

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

    as-stream 是一个 NPM 包,是一种将可读流转换为 Node.js 流的工具。正如其名字所示,它将各种 Node.js 的可读流转换为实时流(真正的 Node.js 流),可以直接使用 No...

    5 年前
  • npm 包 fork-ts-checker-notifier-webpack-plugin 使用教程

    在前端开发中,TypeScript 已经成为一个非常流行的选项。然而,一旦项目规模增大,TypeScript 编译的速度就会变得很慢,这会让开发者花费很多时间在等待编译上。

    5 年前
  • npm 包 @ezbuy/tslint-config-ezbuy 使用教程

    @ezbuy/tslint-config-ezbuy 是 Ezbuy 前端团队内部所维护的一款 TSLint 配置包,它包含了 Ezbuy 团队在开发过程中所使用的一些基本规则。

    5 年前
  • npm 包 "@ezbuy/stylelint-config-ezbuy" 使用教程

    前言 在前端领域,代码的风格是一个非常重要的话题,它直接影响到代码的可读性和可维护性。而 Stylelint 则是一个能够帮助我们检查 CSS 代码风格的工具。 在这篇文章中,我们将会介绍 "@ezb...

    5 年前
  • npm 包 @ezbuy/smartimagesrc 使用教程

    前言 在前端开发中,图片资源设置非常重要,正确使用可以提高网页性能和用户体验,但是对于不同设备分辨率下的图片处理,很多人都感到困扰。现在来介绍一个 npm 包 @ezbuy/smartimagesrc...

    5 年前
  • npm 包 inherit-component 使用教程

    在前端开发中,组件的复用是非常重要的,但是有些情况下我们需要对一个已有的组件进行一些修改,此时我们可以通过继承来实现复用并扩展功能。如果你正在寻找一个可以实现组件继承的解决方案,那么 inherit-...

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

    简介 osm-stream 是一个 Node.js 中的 npm 库,用于流式处理 OpenStreetMap(OSM) 原始数据并将其转换为 JSON 格式。该库使用流式处理,因此可以处理大型 OS...

    5 年前
  • npm 包 scroll-to 使用教程

    在前端开发中,我们经常需要处理滚动(Scroll)操作。但是有时我们需要在代码中控制滚动位置,这时候便需要使用一些工具来实现。这篇文章将介绍一个 npm 包 scroll-to,它可以方便地控制滚动。

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

    前言 在前端开发中,我们经常需要使用 SVG 图片。而 SVG 图片的优势在于可以无限放大不失真,同时也可以通过 CSS 修改其颜色和大小。然而,直接在 HTML 中引入 SVG 图片会增加 HTTP...

    5 年前
  • npm 包 babel-plugin-transform-event 使用教程

    在前端开发中,我们经常需要监听某些元素的事件并作出相应的处理,如输入框的输入事件、按钮的点击事件等等。但在某些情况下,这些事件并不能直接满足我们的需求,需要对它们进行一定的转换、过滤等操作。

    5 年前
  • npm 包 mouse-wheel-event 使用教程

    简介 npm 包 mouse-wheel-event 是用于监听鼠标滚轮事件的 JavaScript 库,可以在前端项目中方便地使用。 本教程将详细介绍 npm 包 mouse-wheel-event...

    5 年前
  • npm 包 dom-easy 使用教程

    简介 dom-easy 是一个轻量级的 JavaScript 库,它提供了简单易用的 DOM 操作 API,可以方便地操作 DOM 树,并提供了一些实用的辅助函数。

    5 年前
  • npm 包 favicon-component 使用教程

    在前端开发中,我们经常会需要对网页的 favicon 进行自定义,例如修改网页标题前面的小图标或动态展示一些信息等。最近,我在 npm 包中发现了一个名为 favicon-component 的工具,...

    5 年前
  • npm 包 event-component 使用教程

    简介 event-component 是一个简单易用的事件服务管理器,它能够帮助前端开发者实现应用程序或页面之间的通信及状态管理。 在前端开发中,事件是一个非常重要的概念。

    5 年前
  • npm 包 vvv 使用教程

    介绍 vvv 是一个用于前端开发的 npm 包,它可以帮助开发者快速搭建前端开发环境。它提供了一个基于 Gulp 构建的任务流来完成前端的编译和打包。除了基础的任务流外,vvv 还提供了许多常用的插件...

    5 年前
  • npm 包 stdin 使用教程

    在前端开发中,我们经常需要从用户输入获取数据,通常我们会使用浏览器提供的输入框或者 AJAX 请求获取数据。但是如果我们需要从命令行获取数据,该怎么办呢?这时候就需要使用 npm 包 stdin。

    5 年前
  • npm 包 browser-mocha 使用教程

    browser-mocha 是一个用于在浏览器进行 Mocha 测试的 npm 包,它使用了 Browserify 和 PhantomJS 的技术来实现这个功能。 如果你想在浏览器中进行 Mocha ...

    5 年前

相关推荐

    暂无文章