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包@hiitiger/generator-n-gen使用教程

    前言 前端开发是一门不断进化的技术,新的框架和工具层出不穷。npm包@hiitiger/generator-n-gen是一个可以让前端开发者更加高效地创建项目的工具,本文将会详细介绍如何使用它。

    3 年前
  • NPM 包 q-infinite 使用教程

    在前端开发中,我们经常需要加载并展示大量的数据。而当数据量过大时,页面的渲染效率便会变得很低。为了解决这个问题,我们可以使用延迟加载技术。 q-infinite npm 包就是一款帮助我们实现无限滚动...

    3 年前
  • npm 包 eslint-boyscout 使用教程

    在前端开发过程中,我们经常需要使用各种 npm 包来提高开发效率、代码质量和可维护性。其中,一个非常实用的 npm 包就是 eslint-boyscout,可以帮助我们约定团队代码风格、编写可读性更好...

    3 年前
  • npm包 redux-boost使用教程

    如果你是一个前端开发人员,你一定不会陌生 npm 和 redux。npm是一个包管理工具,它可以帮助我们快速地安装各种各样的前端三方库。Redux 是一个非常流行的状态管理库。

    3 年前
  • npm 包 @wikipedia-tts/english 使用教程

    简介 @wikipedia-tts/english 是一个基于 Node.js 的 npm 包,它可以将英文文本转换成语音。这个包使用了维基百科的 TTS (Text-to-Speech) 引擎,可以...

    3 年前
  • npm 包 ember-import 使用教程

    什么是 ember-import ember-import 是一个 npm 包,它可以帮助 Ember.js 应用程序将 ES6 模块导入到应用的名称空间中,而不需要在 JavaScript 文件中使...

    3 年前
  • npm 包 gatesms-client 使用教程

    简介 Gatesms-client 是一个适用于 Node.js 平台的 npm 包,用于发送短信验证码。该包使用 Gatesms 的 API,具有稳定、高效、易用等特点。

    3 年前
  • npm 包 overby-event-emitter 使用教程

    介绍 overby-event-emitter 是一个轻量级的事件发射器,用于在 Node.js 环境下实现基本的事件处理机制。该包封装了核心的 EventEmitter 功能,同时提供了更多功能和安...

    3 年前
  • npm 包 react-smooth-slider 使用教程

    React-smooth-slider 是一个利用 React 技术栈创建的组件库,可以方便地实现一个带有动画效果的滑块。该 npm 包可以广泛地应用于前端开发中,为了帮助大家更好地使用它,本文将详细...

    3 年前
  • npm 包 simple2e 使用教程

    如果你正在寻找一个轻量级、易用的前端 JavaScript 框架,那么 simple2e 可能是一个不错的选择。它由一系列核心库和扩展库组成,可以极大地方便开发者的工作。

    3 年前
  • npm 包 tim-passport-http-bearer 使用教程

    npm 是 Node.js 的包管理器,在前端开发中扮演着重要的角色。而 tim-passport-http-bearer 更是 npm 中一个非常实用的包,它为 JavaScript 应用程序提供了...

    3 年前
  • npm 包 prettier-es 使用教程

    在前端开发中,代码格式化和规范化是非常重要的,因为它可以提高代码的可读性和可维护性,从而让协作开发变得更加顺畅。而 prettier-es 就是一种非常流行的代码格式化工具,它可以自动格式化 Java...

    3 年前
  • npm 包 ember-bootstrap-pagination 使用教程

    介绍 ember-bootstrap-pagination 是一个基于 Bootstrap 样式的 Ember.js 分页组件,可以快速地添加分页功能到你的 Ember.js 应用中。

    3 年前
  • npm 包 @fav/arith.multiply 使用教程

    随着前端开发的不断发展,npm 成为了前端工具包必不可少的一部分。npm 上众多的软件包,让我们可以轻松地引入各种前端库和框架,以及各种工具函数和插件,为我们的开发和生产提供了极大的便利。

    3 年前
  • npm 包 @eos/user-agent 使用教程

    在前端开发中,我们常常需要判断用户的浏览器类型以及版本信息,以便更好地优化页面显示和用户体验。npm 包 @eos/user-agent 就是一个非常实用的工具,可以帮助我们轻松地获取用户浏览器的相关...

    3 年前
  • npm 包 scrimpy 使用教程

    简介 scrimpy 是一个用于前端性能优化的 npm 包。它可以分析你的网站并提供一些性能优化建议,以帮助提高页面的加载速度和性能。 安装 通过 npm 安装 scrimpy: --- ------...

    3 年前
  • npm 包 gridplus-bcurl 使用教程

    在前端开发中,我们常常需要使用各种各样的库和工具来加速开发过程和提高开发效率。这其中,npm 包是我们最常用的一个工具之一。今天,我们要介绍的是一个 npm 包:gridplus-bcurl。

    3 年前
  • npm 包 gridplus-bclient 使用教程

    简介 npm 是 JavaScript 的包管理工具,可以很方便地安装、管理和共享代码包。gridplus-bclient 是一款 npm 包,用于与 GridPlus 后端服务器通信,提供了方便的接...

    3 年前
  • npm 包 interfact 使用教程

    在前端开发中,我们经常会需要发送网络请求并处理返回的数据。由于这个过程非常常见和重复,我们通常会使用像 axios 等网络请求库来减少重复代码和提高开发效率。然而,axios 只是一个纯粹的网络请求工...

    3 年前
  • npm 包 gridplus-brq 使用教程

    在前端开发中,我们经常需要用到一些 CSS 栅格系统来完成网格布局,而 gridplus-brq 是一个非常有用的 npm 包,它提供了一套高度可定制化的栅格系统,让前端开发变得更加简单快捷。

    3 年前

相关推荐

    暂无文章