npm 包 import-sorter 使用教程

前言

在前端开发中,我们编写代码经常会引入第三方库或自己编写的模块,这些模块的引入顺序不好控制,如果不加以整理,就会让我们的代码略显混乱。这时候我们就需要用到一个叫做 import-sorter 的 npm 包来帮助我们自动整理代码中的 import 语句的顺序。

本文将详细介绍 import-sorter 的使用方法,包括安装、配置、常用规则等,使读者在日常开发中可以更加高效地使用它。

安装

安装 import-sorter 很简单,只需要在命令行中执行以下命令:

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

配置

import-sorter 提供了多种配置方式,本文介绍一种通用的配置方式。

创建自定义配置文件

首先,在项目的根目录下创建一个名为 .importsorterrc.json 的配置文件:

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

其中,rules 是一个对象,它存储了排序的规则,每个规则都是一个数组,数组中的字符串表示排序的方式。具体规则如下:

  • modules:排序模块导入语句
  • externals:排序外部模块导入语句
  • locals:排序本地模块导入语句
  • all:排序所有模块导入语句

排序方式包括:

  • path:按照导入模块的路径排序
  • name:按照模块的名称排序
  • side-effect:将没有导入值的模块移到最前面
  • type:按照模块类型排序(如:css、sass 等)
  • case-sensitive:按照字母的大小写排序
  • case-insensitive:忽略字母大小写排序
  • ignore:忽略排序(如:React、Vue 等框架)

这里我们以 moduleslocals 为例对规则进行说明:

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

modules 规则表示按照导入模块的路径进行排序,而 locals 规则则表示按照路径排序后,再按照字母的大小写不敏感排序,最后按照大小写不敏感的字母顺序排列。

配置 npm 脚本

package.json 文件中添加以下脚本:

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

这样就可以在命令行中执行 npm run import-sorter 来执行 import-sorter,从而完成对 import 语句的排序。

常用规则

匹配模式

在配置文件中,你还可以像使用 .gitignore 一样来指定忽略某些文件或文件夹:

  • **/node_modules/**:忽略所有的 node_modules 目录
  • src/vendor/**:忽略 src/vendor 目录
  • src/**/*.{png,jpg}:忽略 src 目录下的所有 png 和 jpg 文件

自定义排序

如果您想使用自定义数组来排序,您可以在 localsall 中使用 custom 选项。例如:

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

这里的 localsall 规则都包含了自定义 custom 规则。自定义规则是一个数组,数组中的字符串表示自定义排序的顺序,例如:

  • .store:表示所有导入路径以 .store 开头的模块排在前面
  • .services:表示所有导入路径以 .services 开头的模块排在 .store 后面
  • .utils:表示所有导入路径以 .utils 开头的模块排在 .services 后面
  • .styles:表示所有导入路径以 .styles 开头的模块排在 .utils 后面
  • ^redux:表示导入路径包含 redux 的模块排在以上模块后面
  • ^../:表示导入路径包含相对路径的模块排在最后面(即:导入自己项目中的模块)。

示例代码

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

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

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

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

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

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

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

在上面的代码中,我们可以看到 import 语句的顺序如何凌乱。如果我们在项目中执行 import-sorter 命令,它将自动按照我们在 .importsorterrc.json 文件中定义的规则整理代码。

总结

本文介绍了如何使用 import-sorter npm 包来帮助我们自动整理代码中 import 语句的顺序。在日常的开发工作中,我们需要注意代码的可读性和可维护性,而整理 import 语句的顺序正是这种意义上的一种优化。需要注意的是,正确理解并使用 import-sorter 的规则,才能让整理代码的效率有所提高。

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


猜你喜欢

  • npm 包 react-hooks-input-bind 使用教程

    React Hooks 带来了全新的编写组件的方式,使得前端代码更加简洁易懂。其中,useState 和 useEffect 是最常用的两个 Hook。除此之外,还有一些不太常用但同样非常实用的 H...

    3 年前
  • npm 包 sails-hook-exception-handling 使用教程

    前言 在开发过程中,异常处理是必不可少的一部分。Node.js 中通过 try/catch 可以捕获异常并处理,但摆在我们面前的问题是:每个路由、控制器、服务等的异常处理代码都是独立的,且代码重复率极...

    3 年前
  • npm 包 shipt-google-pay-plugin 使用教程

    在前端开发中,经常需要使用一些第三方的库和插件来实现某些功能,而 npm 是目前最流行的包管理工具之一。在这篇文章中,我们将介绍一个名为 shipt-google-pay-plugin 的 npm 包...

    3 年前
  • npm包babel-plugin-universal-import-ssr使用教程

    前言 在现代前端开发中,使用React服务器渲染(SSR)是非常重要的,因为它能够让应用更快地加载和交互,增强用户的体验并提高SEO。 但是,服务器渲染在代码拆分的情况下会遇到一个问题。

    3 年前
  • npm 包 o2xv-util 使用教程

    在前端开发中,npm 包是一个非常重要的工具。o2xv-util 是一个优秀的 npm 包,它提供了一系列常用的工具方法,能够大大提高我们编程的效率。在本篇文章中,我们将带领大家学习如何使用 o2xv...

    3 年前
  • npm 包 vegas-js-numeric 使用教程

    什么是 vegas-js-numeric vegas-js-numeric 是一个出色的 JavaScript 库,可帮助前端工程师进行数字计算。使用该库,开发人员可以轻松地执行各种数字操作,例如加法...

    3 年前
  • npm 包 vue-markup 使用教程

    简介 vue-markup 是一个 Vue.js 的插件,可以让你在 Vue 模板语法中使用 markdown 格式的文本,非常方便地展示富文本内容。它支持常规markdown语法、GFM(GitHu...

    3 年前
  • npm 包 webpack-gf-json 使用教程

    在前端开发过程中,我们经常需要使用打包工具来将代码打包成可在浏览器中运行的文件。目前比较流行的打包工具有 webpack、rollup 等。在这些打包工具中,webpack 是最常用的一个。

    3 年前
  • npm 包 @dizmo/context-json2tree 使用教程

    简介 在前端开发中,我们常常需要处理 JSON 数据,并将其转换成树形结构展示出来。为了方便处理 JSON 数据,并能够轻松实现树形结构的展示,我们可以使用 npm 包 @dizmo/context-...

    3 年前
  • npm 包 opsmind-rc-tree-select 使用教程

    简介 opsmind-rc-tree-select 是一个基于 React 和 Ant Design 的树形下拉选择器组件。该组件允许用户在树形结构中选择一个或多个节点,并支持对树形结构进行叶节点的搜...

    3 年前
  • npm包 babel-plugin-react-native-web-pass-classname 使用教程

    简介 babel-plugin-react-native-web-pass-classname 是一个帮助 React Native 展示 web 应用界面的 npm 包,它能够在 JSX 中的组件上...

    3 年前
  • npm 包 tfidf.io 使用教程

    在前端开发中,处理文本数据是一项非常重要的任务。其中,文本向量化技术是一种常见的技术手段。在这方面,基于词频、逆文档频率(TF-IDF)算法的技术是比较流行的。 TF-IDF 算法可以帮助我们快速地将...

    3 年前
  • npm 包 yandex-validator 使用教程

    简介 yandex-validator 是一个通过 Yandex 验证器验证 email 地址的 npm 包。它可以帮助开发人员在前端应用程序中轻松地集成 email 地址验证功能。

    3 年前
  • npm 包 ngx-translate-with-country 使用教程

    随着互联网的迅速发展,全球化已经成为了一种趋势,网站需要支持多语言,同时用户也需要根据自己所在国家的不同来获得不同的内容。ngx-translate-with-country 是一个基于 Angula...

    3 年前
  • npm 包 testcafe-reporter-elixir 使用教程

    什么是 testcafe-reporter-elixir testcafe-reporter-elixir 是一个 testcafe 的 reporter 扩展,它会将测试结果输出为 ElixirEx...

    3 年前
  • npm 包 web3-emojihash 使用教程

    简介 npm 包 web3-emojihash 是一个将字符串转换为表情符号的 JavaScript 库,它可以将任何字符串转换为符合 EMOJI 11.0 标准的表情符号,使得字符串变得更加可爱、易...

    3 年前
  • npm 包 @oddlog/cli 使用教程

    简介 @oddlog/cli 是一个可以帮助前端开发者快速生成脚手架项目的 npm 包。它基于 Node.js 平台,使用 TypeScript 编写,支持多种模板引擎,如 ejs、handlebar...

    3 年前
  • npm 包 js-resolver 使用教程

    如果你是一位前端开发工程师,你一定知道 npm,它是 Node.js 的包管理系统。有了 npm,你可以轻松地安装、更新和管理 JavaScript 包。而其中一个重要的包,就是 js-resolve...

    3 年前
  • npm 包 @easyke/daemon 使用教程

    在前端开发中,我们经常需要运行长期的任务,例如构建、监听文件变化等,而这些任务一般都需要手动启动和停止。为了解决这个问题,@easyke/daemon 包应运而生。

    3 年前
  • npm包 @easyke/daemon-api 使用教程

    前言 在前端开发中,我们经常需要通过 API 与后端进行数据交互,而使用 npm 包可以帮助我们更加高效地管理和使用这些 API。本文将详细介绍 @easyke/daemon-api 这个 npm 包...

    3 年前

相关推荐

    暂无文章