Rollup & Plugins 能否将大多数遗留库转换为 es6 模块?

2024-06-18

我们团队的项目内部完全是es6模块(ESM),但是有依赖项还没有制作esm版本。

我们创建了各种解决方案,但它们绝对不是现代的主流解决方案。我指的是将旧格式转换为 esm 的 Rollup 工作流程。或同等学历。

那么问题来了:现在是否有 Rollup 转换器/插件可以让我们将所有或至少大多数旧格式捆绑到 esm 中? IE。将 commonJS、iife、umd、amd(和其他)库格式转换为 esm,或者至少可以捆绑到 esm 包中?


有一些插件专门用于执行此操作:

  • https://github.com/rollup/rollup-plugin-commonjs https://github.com/rollup/rollup-plugin-commonjs
  • https://github.com/rollup/rollup-plugin-legacy https://github.com/rollup/rollup-plugin-legacy
  • https://github.com/piuccio/rollup-plugin-amd https://github.com/piuccio/rollup-plugin-amd

CommonJS 插件也应该涵盖 UMD。它们并非没有警告——在某些情况下,AMD 很难转换为 ESM,并且您可以使用 CommonJS 做一些相当令人讨厌的事情,这些事情很难重新创建(像 webpack 这样的捆绑器通过有效地模拟 Node 环境来绕过它),但他们处理常见情况。

对于其余的,如果维护者不接受在默认版本旁边添加 ESM 版本的 PR(有些人不会,令人沮丧),您可能必须分叉 - 取决于您所依赖的:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rollup & Plugins 能否将大多数遗留库转换为 es6 模块? 的相关文章

  • Android PhoneGap 插件,UI 选项卡栏,调整 WebView 大小

    我正在创建一个美味的 PhoneGap 插件 希望一旦它能被打开 准备好了 插件基本完成了 我只需要一个漂亮的用户界面 相互作用 简而言之 我想创建一个 本机 android 工具栏组件 如果您实现 PhoneGap UIControls
  • 拥有一个大的工作流程还是几个较小的特定工作流程更好?

    我需要构建一个从服务器获取文件并移动到另一台服务器的应用程序 有人建议我考虑使用 Windows Workflow Foundation WF 我开始构建工作流程 但它变得越来越混乱 我不确定我是否以最好的方式做到了这一点 以下是基本工作流
  • 在哪里可以找到 IBM Worklight v5.0.0.3 的 Worklight Studio 插件?

    我正在尝试查找 IBM Worklight Studio v5 0 0 3 Eclipse 插件 Eclipse Marketplace 仅提供最新版本 5 0 6 IBM 似乎没有公开提供 IBM Worklight Studio Ecl
  • 如何编写 sbt 插件来通过代理启动应用程序

    我想在开源之前为我的项目创建一个 sbt 插件 该项目在应用程序运行开始时附加一个 Java 代理 以对其进行各种类型的分析 代理写出文本文件以供以后处理 我希望能够编写一个 sbt 插件 有一个替代方案run called runWith
  • Mocha 测试对原生 ES6 模块的“esm”支持

    有一个很棒的帖子 使用 Mocha 和 esm 测试原生 ES 模块 https web archive org web 20220318155753 https alxgbsn co uk 2019 02 22 testing nativ
  • 使用自定义 cordova 插件未找到类异常

    我正在开发一个打印应用程序 它使用自定义 API 通过 USB 访问打印机 因此我需要一个自定义 Cordova 插件 我开始开发它 这是一个非常好的挑战 但目前也非常令人沮丧 因为我不明白为什么我的插件不能正确使用 事情是 1 插件安装正
  • 我可以通过什么方式混合 jQuery 和 vanilla JavaScript

    我有一个用普通 JavaScript 编写的 Web 应用程序 我想用 jQuery 动画来增强它 并使用我在各种 jQuery 插件中找到的一些功能 例如上传 http www uploadify com 可以通过什么方式将 jQuery
  • 只能加载NetBeans中的一些gradle项目

    非常类似于 无法在 NetBeans 中加载 gradle 项目 https stackoverflow com q 17698135 262852但我认为并不完全相同 即使只是因为这个问题的年龄 我看到了 gradle 消息after h
  • jQuery - 检测鼠标是否静止?

    我想知道是否有一种方法可以检测 jQuery 中鼠标是否空闲了 3 秒 是否有我不知道的插件 因为我不相信有一个原生的 jQuery 方法 任何帮助将非常感激 您可以收听mousemove事件 每当发生时启动超时并取消任何现有超时 var
  • 本地分支显示在 GitHub 的“网络”视图上

    我们使用 Git 我们的工作流程由 dev 和 master 分支组成 它们位于 GitHub 和每个开发人员的本地存储库上 不会直接在 master 或 dev 上执行任何工作 而是在本地分支中执行工作 并且仅在 dev 上进行合并 然后
  • 动态 crm 中的 AppDomain.CurrentDomain.AssemblyResolve

    因此 我收到了很多参考使用的文章AppDomain CurrentDomain AssemblyResolve在运行时将 DLL 从嵌入式资源加载到插件中 不使用 IlMerge 但是 当我插入此代码时 在插件为主库抛出 TypeLoadE
  • IntelliJ IDEA Scala 插件问题

    我对新的 Intellij IDEA 10 和 Scala 插件有疑问 当我在 Scala 源文件中输入任何内容时 编辑器会永久冻结 在其他文件 java 和其他 编辑器中效果很好 结构视图 scala 检查和显示成员功能已关闭 堆大小增加
  • 工作流程系统[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我刚刚开始在一家新的通信公司工作 我们正在寻找一个工作流程 内联网系统来管理工作和流程 基本上 我们从客
  • Rollup & Plugins 能否将大多数遗留库转换为 es6 模块?

    我们团队的项目内部完全是es6模块 ESM 但是有依赖项还没有制作esm版本 我们创建了各种解决方案 但它们绝对不是现代的主流解决方案 我指的是将旧格式转换为 esm 的 Rollup 工作流程 或同等学历 那么问题来了 现在是否有 Rol
  • ES6模块导入是否执行导入文件内的代码?

    js 文件中的代码在导入期间是否运行 如果是 那么一次还是每次 例如 a js console log A const a a export default a b js import a from a gt console logs c
  • 运行“gulp”命令时出现“错误 [ERR_REQUIRE_ESM]”

    我是新来的Gulp并尝试自动化一些任务 这是我的环境设置 npm version 8 1 0 node version 17 0 1 gulp CLI version 2 3 0 and gulp version 4 0 2 这是我的gul
  • Apache Cordova 混合应用程序中的 ES6 模块/导入抛出 MIME 类型错误

    我正在尝试在使用 Apache Cordova 构建的混合移动应用程序中使用 ES6 模块 不幸的是 Cordova 似乎在没有 MIME 类型的情况下提供模块 这会在 WebView 中引发错误 在 Chrome 63 和 64 beta
  • 哪些工具向 Bugzilla 或 Mylyn 提供燃尽图? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我和我的团队需要使用 Mylyn 开发一个项目 该项目的错误已在 Bugzilla 中归档 您是否知道有
  • 如何扩展 Shopware 6 控制器操作

    我正在为 Shopware 6 构建一个插件 但似乎找不到任何有关如何扩展现有控制器操作的文档 我找到了这个如何向 Shopware 中的帐户控制器添加操作 https stackoverflow com questions 4634008
  • intellij idea 中的项目组

    目前 至少从 IntelliJ Idea 14 开始 ide 会记住最后一组打开的项目 我们能否轻松地控制它并拥有可切换的项目集 组 这是打开项目的另一种方式 与模块不同 我希望某个插件已经具备该功能 但是是哪一个呢 截至2017年8月 I

随机推荐

  • 挂钩 jQuery 验证消息更改

    我想在工具提示中显示 jQuery 验证消息 为了实现这一目标 我首先将以下 CSS 规则添加到我的样式表中 fieldset field validation error display none fieldset field valid
  • 使用通配符分割字符串

    我有一个变量字符串 其中包含我需要的值和拆分器 问题是 字符串的长度是可变的 分割器的类型也是可变的 它们通过 XML 文件到达 字符串将如下所示 1 20 51 2 name jpg 但也可以是 1 20 51 name jpg 坚实的因
  • 如何使用 Clang 编译器和 CMake 进行分析

    Question 1 What output我应该期待当我想使用进行分析时clang编译器 2 我该怎么办profiling for a C project它使用clang作为编译器andCMake 作为构建工具 重新分析我所使用的内容 1
  • cellForRowAtIndexPath 中的框架没有变化

    我想改变x位置框架view细胞内的cellForRowAtIndexPath对于某些条件 我使用了以下代码 但并不改变看法x position frame void viewDidLoad super viewDidLoad UINib n
  • Android WebView视频关闭全屏视图后,webview自动滚动

    我在用WebView显示包含文本和视频内容的网页 它按预期正确加载和显示视频 但是当我进入视频的全屏视图时 我按照给定的方式实现了全屏视频视图here https github com akhgupta WebviewVideo 然后回到W
  • Opencv C++ 检测并裁剪图像上的白色区域

    我在网上搜索过 已经找到了一些方法来完成我想要的事情 但是与我需要的相比 这些方法的效率较低 我有一个 kinect 使用 Microsoft SDK 当前正在获取一个移除背景的人 将结果保存在 3 通道 Mat 中 并将该人从背景中移除
  • Python,Pandas:每两行一起平均

    非常基本的问题 但想知道 在 pandas Dataframe 中对每 2 行进行平均的 正确 方法是什么 因此最终只有一半的行数 请注意 这与rolling mean 不同 因为它减少了条目数 一种快速的方法 gt gt gt s pd
  • 为什么 HTML5 DOCTYPE 会扰乱我的填充?

    我有一个带有导航栏的 html5 页面 完全从头开始编码 我最近刚刚向该项目添加了一个文档类型 现在我在导航栏下获得了额外的空间 如果我删除文档类型声明 它就会恢复正常 我已经完全重置了所有内容的填充 边距等 并将其缩减为说明问题的少量代码
  • 寻找两个框架之间的变换

    我有来自视频源的两个连续帧 并且我使用 FAST 算法检测这两个帧的关键点 我使用平方差之和法 SSD 来匹配关键点 所以基本上我已经匹配了两个框架之间的关键点 现在我想根据匹配的关键点集计算两个帧之间的仿射变换 缩放 旋转 平移 我知道如
  • 如何在表格单元格中插入输入字段?

    抱歉 新手问题 我想创建一个包含输入字段的表 如果需要 可以在其中添加新字段 但我不知道如何在已经存在另一个输入字段的单元格内添加另一个输入字段 我的代码是 var par obj parentNode while par nodeName
  • JavaScript 闭包

    我读到闭包末尾的 会立即执行它 那么 这两者有什么区别呢 我在一些代码中看到了第一个用法 thanks for var a selectsomeobj i 0 len a length i
  • 如何将 SPA 嵌入 ASP.NET Core 库并从路径提供服务

    Szenario 我想构建一个 aspnetcore 库 模块includes一个小的SPA前端 IE html js css 文件应与 dll 一起提供 SPA 应从特定路径提供服务 即 some module does not需要可配置
  • 再次返回使用 Rails 3 中的 Rails 2.3.5

    最近 我看到有关Rails 3 0 beta的信息 我想尝试一下 所以我使用gem update并安装了这个版本 但现在 我需要回到 Rails 2 3 5 我怎样才能做到呢 我正在考虑这两个解决方案 卸载 Rails 3 我读到有人使用
  • 在 IntelliJ 中运行 Spark 字数统计

    我花了几个小时浏览 You Tube 视频和教程 试图了解如何在 Scala 中运行 Spark 字数统计程序 并将其转换为 jar 文件 我现在完全糊涂了 我运行了 Hello World 并且了解了如何在 Apache spark sp
  • 使用不包含 Bloc 的上下文调用 BlocProvider.of() - 即使它包含

    首先 我确实知道 BLoC 是如何运作的 它背后的想法 我知道两者之间的区别BlocProvider and BlocProvider value 构造函数 为简单起见 我的应用程序有 3 个页面 其中有一个小部件树 如下所示 App gt
  • 如何在 WinRT XAML Toolkit 折线图中设置轴边距?

    Answer 最后我用这个解决了我的答案 LineSeries MyChart Series 0 IndependentAxis new LinearAxis Minimum 1 Maximum 5 Orientation AxisOrie
  • Java ArrayList 实现中的类型擦除

    我正在阅读这篇文章Java 泛型 http www ibm com developerworks library j jtp01255 index html那里提到了一个构造函数ArrayList看起来有点像这样 class ArrayLi
  • ASCII - Asciimatics - 如何在代码中实现效果/屏幕

    几篇文章之前 有人建议我研究一下 Python 的 Asciimatics 库 我正在尝试使用以下方法来解决它 样品 https github com peterbrittain asciimatics tree master sample
  • iPhone 应用程序在 iOS 4 上安装后无法启动,但设备重启后可以运行

    我有一个在 iOS 3 0 3 1 3 上运行良好的应用程序 然而 在测试 iOS 4 SDK 特别构建时 该应用程序的行为很奇怪 安装后 使用 Xcode iTunes 或 iPhone 配置实用程序 应用程序会执行以下两项操作之一 应用
  • Rollup & Plugins 能否将大多数遗留库转换为 es6 模块?

    我们团队的项目内部完全是es6模块 ESM 但是有依赖项还没有制作esm版本 我们创建了各种解决方案 但它们绝对不是现代的主流解决方案 我指的是将旧格式转换为 esm 的 Rollup 工作流程 或同等学历 那么问题来了 现在是否有 Rol