npm 包 webpack-generate-umd-externals 使用教程

前言

对于前端开发者来说,使用 webpack 是非常常见的事情。在 webpack 中,可以使用 externals 配置选项将你的某些依赖指定为外部依赖,然后这些依赖并不会被打包到输出的 bundle 中。而要使用这些依赖,你需要在你的 HTML 文件中通过 CDN 或者其他方式引入它们。其中最主要的应用场景是用来减小打包后的文件大小,加快加载速度。

然而,在实际开发中,我们往往需要定制化外部依赖的位置,指定它的命名空间、CDN 地址等等。而此时,externals 的配置就已经不能满足这些需要了。本文将介绍一款 npm 包 webpack-generate-umd-externals,这个包可以帮助我们在 webpack 中更方便地处理 UMD 模块的 externals 配置。

安装和使用

使用 webpack-generate-umd-externals,可以在 webpack 配置文件中通过简单的配置来处理 externals 模块。下面是使用方法:

安装

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

使用

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

-- ---

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

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

上述代码通过在 plugins 选项中引入了 UmdExternalsPlugin,随后通过在 plugin 的参数中具体定义外部依赖的 url/namespace/var 选项,实现 externals 配置的定制化。

参数说明

UmdExternalsPlugin 需要的参数是一个对象,它属性列举如下:

  • libraryName:String 库名称。可以在 Webpack 配置的externals属性中以libraryName为 key,指向 CDN 等外部引用的地址;还可以在 libraryTarget: 'umd'的设置下,为umdNamedDefine插件生成的 UMD 模块指定名称。如果你的业务使用的是公用的第三方库,推荐使用此属性。
  • **[var]**:String UMD 模块中的变量名。若此模块不会暴露变量,变量名可省略不写。webpack-generate-umd-externals 自动为 UMD 模块加上 exporting __esModule = true;语句。默认情况下,externals 配置的变量名与库名称一致。
  • [url]: String CDN 地址。在将各种第三方库的版本升级时,可指定 URL 对应版本的地址,并在其他项目中也可以使用相同的 URL 和版本号,实现版本的统一。如果 CDN 加载出错、CDN 提供商商业运营出现问题等情况,本地的 NPM 包需要及时更新或切回。
  • [namespace]: String 命名空间。引入 UMD 模块时使用的命名空间,你可以根据自己的使用习惯及业务需求在 front-end、namespace 或者其他关键词等之间进行选择。

小结

我们经常需要引入一些外部依赖库,使用 externals 可以让这些库成为客户端代码的外部依赖。但对于一些自己开发的库,还需要定制化配置它的命名空间、URL 地址等信息。webpack-generate-umd-externals 已经成为这类场景下解决方案之一,可以自动生成 UMD 模块的 externals 配置,为项目开发带来更多便利。同时,在加载第三方组件的自定以配置中设置 URL,还可以实现版本统一。如果你对 webpack 配置不熟悉,那么使用这个工具是相对简单的。

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


猜你喜欢

  • NPM 包 Weimi 使用教程

    Weimi 是一种能够发送短信和语音验证码的 Node.js 库。它是一款简单易用的 npm 包,帮助开发者在他们的应用程序中添加 SMS 验证功能。本文将为您提供有关 Weimi 的详尽指南,包括如...

    4 年前
  • npm 包 whiteboard-grid 使用教程

    前言 在前端开发过程中,经常需要使用白板网格来帮助布局、调整元素等工作。为了方便使用,我们可以使用 npm 包 whiteboard-grid。 本文将详细介绍 whiteboard-grid 的使用...

    4 年前
  • npm 包 whiteboard-importer 使用教程

    前言 whiteboard-importer 是一个用于导入白板文件的 npm 包。它可以轻松的将白板文件转换为图像或 PDF 文件。这个包提供了一个 API 和一个命令行接口,让使用者可以方便地将白...

    4 年前
  • npm 包 whiteboard-media 使用教程

    whiteboard-media 是一个基于 Vue.js 的 npm 包,它提供了在网页上进行多人协作的白板画板和媒体播放器的功能。它可以用于在线教育、团队协作、远程会议等场景,让用户能够轻松地进行...

    4 年前
  • npm 包 whiteboard-reset 使用教程

    前言 在进行前端开发时,我们经常会用到白板,对于白板来说,它可以让我们更好地进行协作开发,但是如果白板上的内容过于复杂后,快速清除白板上的内容往往会变得十分繁琐。因此,我们可以使用 npm 包 whi...

    4 年前
  • npm 包 whitecss 使用教程

    什么是 whitecss whitecss 是一款基于 CSS 的开源框架,它旨在帮助前端开发者快速构建简单美观的界面,并提供了灵活的定制能力。whitecss 以“简单、易用、高效”为宗旨,大大减少...

    4 年前
  • npm 包 webui-grunt-babel 使用教程

    简介 在前端开发中,我们通常需要使用各种工具来协助完成任务。其中一个重要的工具就是构建工具。构建工具可以将我们编写的代码转换、压缩、打包等操作,以提高网站性能并方便开发。

    4 年前
  • npm 包 webuild-events 使用教程

    webuild-events 是一个用于事件处理的 JavaScript 库,提供了事件的监听、派发、移除等功能,是前端开发中常见的工具之一。本篇文章将为大家介绍 webuild-events 的使用...

    4 年前
  • npm 包 whiteglove 使用教程

    在日常的前端开发工作中,我们经常需要对接后端返回的数据。其中,数据校验是必不可少的一环。而使用 whiteglove 这个 npm 包,可以大大简化我们的数据校验操作。

    4 年前
  • npm 包 webuild-repos 使用教程

    在前端开发中,使用第三方包可以显著地提高工作效率和代码质量。本文将介绍一款名为 webuild-repos 的 npm 包,它在帮助开发者快速搭建项目结构上提供了很大帮助。

    4 年前
  • npm 包 webuploader-for-qiqiuyun 使用教程

    在前端开发中,文件上传是一个常见的需求。而使用第三方库可以大大减少我们开发上传功能的时间和工作量。这篇文章将介绍一个 npm 包,它是基于 webuploader 的二次封装,专门为七牛云提供文件上传...

    4 年前
  • npm 包 webusb-dmx512-controller 使用教程

    前言 在音乐节或表演现场,舞台灯光是十分重要的元素之一,现场技术人员需要通过 DMX512 协议来控制舞台各种灯光设备。但是传统的 DMX512 控制器使用麻烦,控制台的价格昂贵,执行效果不方便查看,...

    4 年前
  • npm 包 webview-debug 使用教程

    在移动端开发中,我们经常会遇到需要在 WebView 中调试 JavaScript 代码的情况。但是由于移动端环境的限制,我们不能像在浏览器中一样方便地使用开发者工具进行调试。

    4 年前
  • npm 包 whitelist-ips 使用教程

    在前后端交互的过程中,有时候需要限制某些 IP 地址的访问权限。那么怎么来实现呢?这时候就可以用到 npm 包 whitelist-ips。本文将为大家介绍这个包的使用方法。

    4 年前
  • npm 包 whitelist-merge 使用教程

    在前端开发过程中,我们经常需要对数组、对象等数据进行合并操作。在这个过程中,我们可能需要对合并后的结果进行过滤,以保证只有特定的数据被合并到最终的结果中。针对这种需求,whitelist-merge ...

    4 年前
  • npm包whitelist-obj-props的使用教程

    什么是whitelist-obj-props? whitelist-obj-props是一个npm包,用于过滤对象的属性,只保留白名单中指定的属性。使用该包可以方便地实现对象属性的过滤。

    4 年前
  • npm 包 whitelist-object 使用教程

    什么是 Whitelist-Object Whitelist-Object 是一个可以用于限制对象属性的 npm 包。使用 Whitelist-Object 可以让你更加方便地操作对象的属性,减少一些...

    4 年前
  • npm 包 whitelist-passthru 使用教程

    前言 在前端开发中,我们经常会用到各种 npm 包来帮助我们解决问题,例如某些插件或工具库。然而,有些时候我们希望限制某些 npm 包的使用,比如说我们不希望前端中出现某些特定的包,或者我们只想允许使...

    4 年前
  • npm 包 whitelistip 使用教程

    前言 在进行 Web 开发时,我们有时需要限制某些功能只能在特定 IP 地址的情况下才能执行,比如防止敏感接口被非法用户访问。为了实现这一目标,有一个方便实用的 npm 包,它就是 whitelist...

    4 年前
  • npm 包 whitelodge 使用教程

    whitelodge 是一款方便快捷的 npm 包,用于快速在前端项目中创建白名单机制。通过 whitelodge 可以有效避免攻击和恶意操作,提升项目的安全性和稳定性。

    4 年前

相关推荐

    暂无文章