如何使用 rollup.js 将所有依赖项嵌入到一个胖目标包中?

Posted

技术标签:

【中文标题】如何使用 rollup.js 将所有依赖项嵌入到一个胖目标包中?【英文标题】:How to embed all dependencies into one fat target bundle with rollup.js? 【发布时间】:2019-02-07 01:27:57 【问题描述】:

如果所有依赖项都应该嵌入到(胖)结果包中,我该如何配置 rollup.js(=> 配置文件“rollup.config.js”)(特别是:如何配置汇总参数“globals” , "外部", "plugins.babel.exclude")?

假设我做了类似的事情:

> npm install dependency1 --save-dev
> npm install dependency2 --save-dev

并且索引文件(index.js)看起来像:

import D1 from 'dependency1'
import D2 from 'dependency2'

[...]

export default SomethingThatUsesD1AndD2

=> 生成的包应该是一个包含所有内容的单一文件

【问题讨论】:

不要将save-dev 用于运行时依赖项。如果您在index.js 中使用importing 这些依赖项,则应使用npm install --save dependency1 安装它们 【参考方案1】:

使用 rollup-plugin-node-resolve(如果您有 CommonJS 依赖项,则使用 rollup-plugin-commonjs)。

【讨论】:

它现在可以工作了:其中一个依赖项(我的一个项目)是用 webpack 构建的......我已经将该依赖项项目上的打包程序切换为“汇总”,它可以很好地与我的其他项目的“汇总”构建脚本......认为我的那个依赖项目的 webpack 配置有问题。 很好的答案!链接已过时,这些是最新的:rollup-plugin-node-resolverollup-plugin-commonjs

以上是关于如何使用 rollup.js 将所有依赖项嵌入到一个胖目标包中?的主要内容,如果未能解决你的问题,请参考以下文章

外部依赖项错误地捆绑在 rollup.js 中?

如何使用 bnd-maven-plugin 嵌入 maven 依赖项

如何将许多不和谐嵌入附加到一条消息中?

如何防止引用程序集的嵌入式依赖项被复制到Visual Studio中的输出文件夹?

如何通过Gradle将所有依赖项复制到Maven存储库?

如何将所有3rdparty运行时依赖项包含在linux上的cmake / cpack生成的包中?