npm 包 rollup-plugin-peer-deps-external 使用教程

如果你是一个前端开发人员,在编写自己的 JavaScript 模块时,你可能会用到大量的第三方依赖包,在这种情况下,你可能会使用 Rollup.js 或者其他的打包工具来管理你的依赖包。在 Rollup.js 中,rollup-plugin-peer-deps-external 可以帮助你更加方便地处理依赖包的导入和导出,让你的代码更加高效和可维护。

rollup-plugin-peer-deps-external 的用途

rollup-plugin-peer-deps-external 插件可以将你的模块所依赖的第三方库打包成单独的文件,而不是将它们打包进你的 JS 文件中。这将大大减小你的 JS 文件的体积,并提高应用程序的性能。

例如,假设你的项目依赖了 lodash、jquery 和 react 三个库,你可以使用 rollup-plugin-peer-deps-external 插件将它们从你的代码中排除出去,将它们打包成一个单独的文件,然后在应用程序中引用它。这样一来,你的应用程序只需要下载一次这个文件,就可以实现对这三个库的复用,而且还可以避免版本冲突和重复下载问题。

安装 rollup-plugin-peer-deps-external

要使用 rollup-plugin-peer-deps-external 插件,你需要为你的项目安装它。你可以通过 npm 来完成安装,只需要在终端中运行以下命令即可:

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

配置 rollup-plugin-peer-deps-external

要配置 rollup-plugin-peer-deps-external 插件,需要在你的 rollup 配置文件中添加以下内容:

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

配置 rollup 配置文件

现在你需要配置你的 rollup 配置文件,使得 rollup-plugin-peer-deps-external 插件可以正确的工作。首先,你需要添加 import 语句以导入 rollup-plugin-peer-deps-external:

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

然后,在你的 rollup 配置对象中,添加以下内容:

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

这里的 plugins 定义了你在 rollup 打包过程中需要使用的插件。我们只需要将 rollup-plugin-peer-deps-external 插件加入到插件列表中就可以了。由于每个插件的调用顺序是有讲究的,我们将该插件的调用放在第一位。

external 则是一个由需要 external 处理的库组成的数组。这些库不会被打包到我们的项目中,而是在运行时依靠用户自行加载这些库。这些库通常是一些公共的库,如 React、jQuery 等等。如需更好的扩展性,我们建议使用 peerDependencies。

peerDependencies 是一种指定插件所需要的外部依赖库的方式。在你的 package.json 文件中,你可以添加一个 peers 字段:

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

这表示你的项目需要 react、react-dom、lodash 和 jquery 四个库,并指定了它们的版本号。在安装时,npm 将不会将这些库作为项目依赖包安装,而是作为外部依赖库。当你应用程序运行时,你需要手动加载这些库。

示例代码

在这个例子中,我将指定使用 jquery、lodash、react 和 react-dom 这四个库作为外部依赖库。在我的项目中,我已经使用这些库来开发应用程序。

现在我打算使用 rollup-plugin-peer-deps-external 插件来对这些库进行打包。我已经安装了该插件,并在我的 rollup.js 配置文件中添加了以下代码:

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

现在,我只需在终端中运行以下命令,就可以生成我们的打包文件了:

--- ------ --

这将使用 Rollup.js 来打包我们的代码。输出文件将存放在 build 目录下,文件名为 bundle.js。现在,我的应用程序将快速地加载,因为它只需要加载一个文件就可以了,而不需要加载四个外部依赖库。

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


猜你喜欢

  • npm 包 @atlas/automata 使用教程

    自动化处理是编程中一项重要技术,可以帮助提高效率和减少冗余操作。@atlas/automata 是一款 npm 包,旨在提供前端自动化处理方案。 安装 首先,你需要在你的项目目录下安装该 npm 包:...

    5 年前
  • npm包 app-store-scraper使用教程

    引言 随着移动互联网的高速发展,App应用市场变得越来越重要。对于应用开发者来说,应用市场是一个宝贵的推广途径,同时也是观察竞争对手、了解市场趋势的重要方法之一。因此,开发者需要了解并掌握一些工具来帮...

    5 年前
  • npm 包 advanced-tools 使用教程

    前言 随着前端技术的不断发展,我们需要的工具和库也越来越多。在众多的 npm 包中,advanced-tools 是一个非常实用且强大的工具包,对于前端开发人员来说非常有指导意义。

    5 年前
  • npm 包 Discord Simple Utils 使用教程

    Discord Simple Utils 是一款基于 Discord.js 开发的 NPM 包,用于简化开发者在创建 Discord 机器人时的工作。它提供了一系列方便快捷的 API,使您可以更轻松地...

    5 年前
  • npm 包 enmap 使用教程

    前言 在前端开发中,我们经常需要使用数据存储并快速访问。为了方便管理和操作数据,我们通常会使用一些数据存储库。其中,enmap 是一个轻量级的 Node.js 数据存储库,适用于任何应用程序或库。

    5 年前
  • npm 包 canvas-constructor 使用教程

    前言 canvas-constructor 是一个用 JavaScript 编写的轻量级画布库。借助它,我们可以方便地在 Web 页面中创建和操作画布,并实现各种有趣的效果。

    5 年前
  • npm 包 @types/node-cron 使用教程

    什么是 @types/node-cron? @types/node-cron 是一个官方的 TypeScript 类型定义库,用于为 node-cron 提供 TypeScript 的类型定义。

    5 年前
  • npm 包 im-google-translate 使用教程

    简介 im-google-translate 是一个基于 Google 翻译服务的 Node.js 模块。它可以让你在你的 Node.js 应用程序中进行自然语言翻译。

    5 年前
  • npm 包 google-translate-open-api 使用教程

    在前端开发中,经常需要进行页面国际化的操作。这时候,我们需要使用到一个强大的 npm 包,google-translate-open-api,它可以方便地将文字翻译成不同的语言。

    5 年前
  • npm 包 google-translate-api-fix 使用教程

    在当今全球化的时代,语言已经成为一种非常重要的交流方式。在前端开发中,常常需要处理各种语言的翻译问题。而 npm 包 google-translate-api-fix 正是一款可以帮助你解决这些问题的...

    5 年前
  • npm 包 @leizl/google-translate-open-api 使用教程

    随着全球化的深入推进,多语言应用已成为互联网发展的大趋势。前端工程师需要通过各种渠道翻译资料,将应用中的文字翻译成多种语言。其中,Google Translate 是一款非常出色的翻译工具,它提供了强...

    5 年前
  • npm 包 handy-redis 使用教程

    在前端开发的过程中,我们经常需要使用 Redis 数据库来存储和管理数据。而 handy-redis 正是一款非常方便易用的 Redis 操作库,提供了很多有用的工具函数,可以大大简化我们的开发工作。

    5 年前
  • npm 包 @types/cookie 使用教程

    在前端开发中,cookie 是一个非常重要的概念,它能够在客户端存储一些简单的数据信息,比如用户登录状态等。而 @types/cookie 就是一个方便我们使用 cookie 的 npm 包。

    5 年前
  • npm 包 lru_map 使用教程

    随着前端应用变得越来越复杂和庞大,我们需要更好地管理数据和内存。而lru_map就是一个很好的解决方案。 lru_map概述 lru_map是一个轻量级的JavaScript包,它提供了一个简单的LR...

    5 年前
  • npm 包 @sentry/apm 使用教程

    前言 近年来,前端性能优化变得越来越重要。优秀的前端监控工具不仅可以帮助我们识别潜在的性能问题,更能帮助我们解决已经存在的问题。其中,@sentry/apm 便是一款值得推荐的前端性能监控工具。

    5 年前
  • npm 包 @resdir/remote-resource-json-rpc-handler 使用教程

    在现代的 Web 开发中,我们通常会使用 RPC(Remote Procedure Call)来进行服务端和客户端之间的通信,这样我们就可以实现异步和分布式的微服务。

    5 年前
  • npm 包 @resdir/process-manager 使用教程

    在前端开发中,我们经常需要同时运行多个进程,如 Web 服务器、构建工具、自动化测试等,而这些进程往往需要在开发过程中反复启动和停止。为了方便管理这些进程,我们可以使用 @resdir/process...

    5 年前
  • npm 包 @resdir/package-manager 使用教程

    介绍 在前端开发中,经常需要使用 npm 包来引入一些第三方库或者工具。但是,当项目变得越来越大时,可能会有很多的 npm 包需要管理。为了简化这个过程,可以使用 npm 包 @resdir/pack...

    5 年前
  • npm 包 @resdir/namespace 使用教程

    在前端开发中,一个常见的问题是命名冲突。要解决这个问题,可以使用命名空间。命名空间可以将同一组件或函数放置在一个独立的区域内,避免与其他组件或函数产生冲突。npm 包 @resdir/namespac...

    5 年前
  • npm 包 @resdir/file-manager 使用教程

    什么是 @resdir/file-manager? @resdir/file-manager 是一个用于 Node.js 的 npm 包,它提供了一个强大的、易于使用的文件管理器,可以让你在你的 No...

    5 年前

相关推荐

    暂无文章