问题标签 [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.
javascript - 使用汇总的节点打包子模块
我有一个由许多子模块组成的库(ES6),比如说
我目前做这样的导入(全部在我的包中 - 使用文件解析来查找,而不是 node_modules 解析):
所以,在实践中,我有很多跨子目录的文件。
我现在正在尝试打包和发布我的库,它将安装在 node_modules 下。
在我看来,节点解析算法(当在 node_modules 之后)只允许一个入口点(并且对此没有任何汇总可以做)
我希望能够包含许多子目录和文件,并单独解决它们。
据我了解,我必须包含一个包含所有 export from
机器的顶级文件。我只能导入那个单一的顶级文件。
这意味着必须手动创建该文件。这也意味着丢失了来自目录结构的所有子模块名称结构。
我想知道:有什么方法可以直接从 node_module 导入任何其他文件?
angular - angular2如何捆绑没有ng2依赖的UMD模块
我正在尝试使用汇总来捆绑使用 UMD 的 ng2 模块,但未按我的预期排除 ng2 依赖项:
汇总选项:
节点解析插件(rollup-plugin-node-resolve)
这个的输出是:
通过跳过 ng2 依赖项,Rollup 似乎创建了全局依赖项,其中_angular_core
和_angular_http
需要_angular_platformBrowser
全局定义。
我希望保留依赖项,但不希望保留全局依赖项。例如,这是tsc
在定位时产生的umd
:
您可以看到require
语句嵌入在 UMD 模块中(这是我想要实现的),而不是定义全局依赖项。
我可能没有正确使用汇总。我究竟做错了什么?
也许汇总是错误的工具,有人可以推荐更好的工具吗?我正在使用 gulp 进行构建。
javascript - 如何从 babel 处理的汇总包中删除 use strict
我尝试了插件 transform-remove-strict-mode 但它不起作用。结果格式是 iife,我在 gulp 中使用汇总(并将 babel 作为汇总插件)。
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"
javascript - gulp汇总不起作用外部资源导入
我正在使用带有正确配置的 babel 的 gulp-rollup 插件。从 babel 转译的代码需要加载 babel-polyfill 所以我把
在我的主文件的顶部(当然安装了 babel-polyfill)。
不幸的是,gulp 输出了这样的东西
在汇总电话中,我使用了
所以,rollup 能够接触到真实的文件系统。
不幸的是,在输出的代码中,没有 polyfill 代码。
如何解决?
编辑:我添加并配置了 rollup-plugin-commonjs,没有帮助
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 文档的仔细阅读让我很难理解我可以使用哪些选项来解决这个问题,比如以某种方式防止属性缩小。
angular - Angular2 Rollupjs
我正在尝试使用 RollupJS 捆绑我的 Angular2 应用程序,但我遇到了一些问题:
- 找不到我的 AppComponent 引用的 css 文件并引发错误。
使用 'angular' 插件转换 /demo-app.ts 时出错:ENOENT:没有这样的文件或目录,打开 /demo-app.css
为了解决这个问题,我编写了一个 gulp 任务来将我的 scss 文件编译为 css。但我的印象是 Rollup 能够做到这一点。
- 一个 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 模块问题?
谢谢
rollupjs - 当汇总项目包含像 jquery 和骨干网这样的公共库时,你会怎么做?
我正在使用汇总来构建一个依赖于 jquery 和骨干网的库。花了三个星期来构建它,但现在我意识到我的捆绑代码包含 jquery 的源代码和其中的主干。因此,将我的库包含在已经有 jquery 的页面上只会使 jquery 翻倍,从而导致很多不必要的膨胀。
开发人员如何处理这个问题?
javascript - 如何使用 Rollup JS 捆绑 polyfills 和外部库?
这是我第一个使用 Angular 2 的应用程序。
我们运行 aot 和 rollup 来生成一个包。但是我们必须始终将 polyfills(shim、reflect-metadata 和 zone.js)添加到带有script
HTML 元素的 index.html 中。
是否可以将此 polyfill 添加到包中?
另一个问题:如何将外部 JS 库添加到包中。实际上,就像 polyfill 一样,我们必须将它们添加到 index.html
javascript - 使用 d3 插件汇总:未定义参考
我是使用汇总来制作自定义 d3 构建的新手。我正在尝试使用d3-annotation 插件,但是构建完成后,我的控制台中出现错误:ReferenceError: d3Dispatch is not defined
在构建的文件中,似乎所有属性(如d3Dispatch
,d3Selection
等)都没有“翻译”。要求行也消失了(这可能是正常的)。
这是汇总配置文件:
它与 gulp 任务一起使用:
我就是不明白出了什么问题。我需要导入另一个属性吗?你有想法吗?