问题标签 [rollupjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1170 浏览

javascript - 使用汇总的节点打包子模块

我有一个由许多子模块组成的库(ES6),比如说

我目前做这样的导入(全部在我的包中 - 使用文件解析来查找,而不是 node_modules 解析):

所以,在实践中,我有很多跨子目录的文件。

我现在正在尝试打包和发布我的库,它将安装在 node_modules 下。

在我看来,节点解析算法(当在 node_modules 之后)只允许一个入口点(并且对此没有任何汇总可以做)

我希望能够包含许多子目录和文件,并单独解决它们。

据我了解,我必须包含一个包含所有 export from机器的顶级文件。我只能导入那个单一的顶级文件。

这意味着必须手动创建该文件。这也意味着丢失了来自目录结构的所有子模块名称结构。

我想知道:有什么方法可以直接从 node_module 导入任何其他文件?

0 投票
2 回答
972 浏览

angular - angular2如何捆绑没有ng2依赖的UMD模块

我正在尝试使用汇总来捆绑使用 UMD 的 ng2 模块,但未按我的预期排除 ng2 依赖项:

汇总选项:

节点解析插件(rollup-plugin-node-resolve)

这个的输出是:

通过跳过 ng2 依赖项,Rollup 似乎创建了全局依赖项,其中_angular_core_angular_http需要_angular_platformBrowser全局定义。

我希望保留依赖项,但不希望保留全局依赖项。例如,这是tsc在定位时产生的umd

您可以看到require语句嵌入在 UMD 模块中(这是我想要实现的),而不是定义全局依赖项。

我可能没有正确使用汇总。我究竟做错了什么?

也许汇总是错误的工具,有人可以推荐更好的工具吗?我正在使用 gulp 进行构建。

0 投票
3 回答
3419 浏览

javascript - 如何从 babel 处理的汇总包中删除 use strict

我尝试了插件 transform-remove-strict-mode 但它不起作用。结果格式是 iife,我在 gulp 中使用汇总(并将 babel 作为汇总插件)。

0 投票
3 回答
908 浏览

javascript - RxJS lib中的Angular 2 Rollup Tree Shaking意外令牌

当我使用Angular 2 文档中的汇总时,尝试执行汇总配置 js 文件时出现错误:

当我查看repo 中的isArrayLike.js文件时rxjs,我可以看到该文件包含以下代码:

exports.isArrayLike = (function (x) { return x && typeof x.length === 'number'; });

看起来在摇树步骤汇总中删除了一个括号this one -->(function (x),摇树失败。

如果我手动删除rxjs/isArrayLike.js文件中的最后一个括号,则汇总工作正常。

有没有办法解决这个问题?

"rollup-plugin-commonjs": "^7.0.0" "rxjs": "^5.2.0"

0 投票
1 回答
855 浏览

javascript - gulp汇总不起作用外部资源导入

我正在使用带有正确配置的 babel 的 gulp-rollup 插件。从 babel 转译的代码需要加载 babel-polyfill 所以我把

在我的主文件的顶部(当然安装了 babel-polyfill)。

不幸的是,gulp 输出了这样的东西

在汇总电话中,我使用了

所以,rollup 能够接触到真实的文件系统。

不幸的是,在输出的代码中,没有 polyfill 代码。

如何解决?

编辑:我添加并配置了 rollup-plugin-commonjs,没有帮助

0 投票
2 回答
458 浏览

laravel - Laravel Webpack - 不需要的顶级变量缩小

我的主 javascript 文件中有一个变量,例如var example = {};.

在 webpack 完成它的工作后,我发现它example现在被引用为t. 当我在整个 Web 项目中使用该变量时,这给我带来了一个问题。我将函数绑定到对象上,例如:

最后在页面底部,我可以调用这部分脚本,例如:

这种编写javascript函数的方式并不罕见......

这显然是一个巨大的痛苦,因为我无法控制缩小。此外,似乎 webpack 并没有弄清楚这example.initialise = function () {};与其新缩小的var example (becoming)--> var t. 即它也不会变成t.initialise = function {};

我应该在这里做什么?

我也尝试过使用汇总。发生相同类型的变量缩小。

问题是,这种缩小/混淆非常棒,特别是在函数的内部工作中,几乎不需要担心参数名称。但不在顶层。我不明白为什么会发生这种情况,或者如何防止它。

有任何想法吗?

我假设有一些方法可以设置 webpack 的配置。例如 inside webpack.config.js,但是我对 webpack 文档的仔细阅读让我很难理解我可以使用哪些选项来解决这个问题,比如以某种方式防止属性缩小。

0 投票
2 回答
411 浏览

angular - Angular2 Rollupjs

我正在尝试使用 RollupJS 捆绑我的 Angular2 应用程序,但我遇到了一些问题:

  1. 找不到我的 AppComponent 引用的 css 文件并引发错误。

使用 'angular' 插件转换 /demo-app.ts 时出错:ENOENT:没有这样的文件或目录,打开 /demo-app.css

为了解决这个问题,我编写了一个 gulp 任务来将我的 scss 文件编译为 css。但我的印象是 Rollup 能够做到这一点。

  1. 一个 rxjs 模块导致我出错。

模块 /node_modules/rxjs/observable/of.js 不导出(由 /@angular/router/src/apply_redirects.js 导入)

我尝试使用 rollup-plugin-alias 并编写一个特定的 resolveRxJS 函数来解决这个问题,但没有运气。

注释掉的代码是我尝试过的其他东西。注意:我也尝试在 rollup-plugin-angular 函数中使用预处理器,它也没有编译我的 css。

所以回顾一下 1) 在运行汇总代码之前,我是否总是必须使用 gulp 编译我的 scss 文件?2) 如何解决 rxjs 模块问题?

谢谢

0 投票
1 回答
408 浏览

rollupjs - 当汇总项目包含像 jquery 和骨干网这样的公共库时,你会怎么做?

我正在使用汇总来构建一个依赖于 jquery 和骨干网的库。花了三个星期来构建它,但现在我意识到我的捆绑代码包含 jquery 的源代码和其中的主干。因此,将我的库包含在已经有 jquery 的页面上只会使 jquery 翻倍,从而导致很多不必要的膨胀。

开发人员如何处理这个问题?

0 投票
3 回答
2444 浏览

javascript - 如何使用 Rollup JS 捆绑 polyfills 和外部库?

这是我第一个使用 Angular 2 的应用程序。

我们运行 aot 和 rollup 来生成一个包。但是我们必须始终将 polyfills(shim、reflect-metadata 和 zone.js)添加到带有scriptHTML 元素的 index.html 中。

是否可以将此 polyfill 添加到包中?

另一个问题:如何将外部 JS 库添加到包中。实际上,就像 polyfill 一样,我们必须将它们添加到 index.html

0 投票
1 回答
273 浏览

javascript - 使用 d3 插件汇总:未定义参考

我是使用汇总来制作自定义 d3 构建的新手。我正在尝试使用d3-annotation 插件,但是构建完成后,我的控制台中出现错误:ReferenceError: d3Dispatch is not defined 在构建的文件中,似乎所有属性(如d3Dispatch,d3Selection等)都没有“翻译”。要求行也消失了(这可能是正常的)。

这是汇总配置文件:

它与 gulp 任务一起使用:

我就是不明白出了什么问题。我需要导入另一个属性吗?你有想法吗?