问题标签 [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 投票
2 回答
1543 浏览

javascript - 通过 CLI 汇总:视为外部依赖项

我正在尝试使用 rollupjs 将所有内容捆绑到一个文件中。

main.js文件:

example-export.js文件:

下面的命令及其响应:

产生的bundle.js文件:

我期待example-export模块包含在bundle.js文件中。由于这确实是新事物,因此互联网缺乏适当的示例。

我希望这个问题与https://github.com/rollup/rollup/wiki/Command-Line-Interface#usage--name的论点有关。但是,我无法弄清楚它应该如何使用。假设我有多个出口和进口,那会怎样?

0 投票
1 回答
93 浏览

javascript - 为什么 rollup.js 在其输出中不包括 - 专门 - 导出的值?

我是 Rollup 的新手 - rollupjs.org - 不明白为什么要删除导出的值;大概是在汇总期间通过摇树。

我有data.json一些基本数据,我想作为模块的一部分提供:

...以及将导出它们的模块:

rollup.js 是否无法将导出语句识别为“使用”,因此仅在其中的任何内容都会从输出中获得“treeshaken”?

0 投票
1 回答
413 浏览

javascript - 如何使用 babel 插件将 commonjs 转换为 es2015 模块?

我使用 webpack2 来构建我的网络,我想从 tree-shaking 中受益,它只适用于 es2015 模块。

所以我想问一下这个汇总插件https://github.com/rollup/rollup-plugin-commonjs之类的 babel 插件的 commonjs 到 es2015 转换器。

0 投票
1 回答
1878 浏览

angular - 捆绑后 Angular2 RC6 Inject LOCALE_ID 失败

我正在尝试捆绑一个刚刚更新到 RC6 的 Angular2 应用程序,大致基于这篇优秀的博客文章。

我有一个管道,它只包装内置的 DatePipe ,不同之处在于它接受一个空参数,并在它收到它的情况下做一些事情。对于 RC6,必须更新它以将_locale参数传递给 DatePipe。这是管道:

这种依赖注入的方法与内置 DatePipe 使用的方法相同(我能说得最好)。

当为开发编译并加载 systemjs 时,它工作正常。但是在与 rollup 捆绑之后,_localenull传递给构造函数的时候。包中的实例化如下所示:

如果有帮助,我可以提供汇总配置和 tsconfigs - 但现在会推迟,因为它会给问题增加很多内容。现在的捆绑流程是:

该应用程序的其余部分运行良好!我现在已经通过'en-US'直接传递给 DatePipe 来解决这个问题,但我很好奇它为什么不起作用,我想正确地做到这一点。

0 投票
1 回答
594 浏览

angular - 为什么 ngc + Rollup 捆绑的 Angular 2 RC.6 路由会失败?

我正在尝试利用 RC.6 中提供的新 AOT 编译,但遇到了障碍。我可以使用 ngc => Rollup => Babel 成功创建一个包,但是每次运行 Rollup 时都会收到多个警告:

The 'this' keyword is equivalent to不明确的at the top level of an ES module, and has been rewritten

捆绑包成功完成。相同的代码库适用于 JIT 编译。Angular 2 应用程序启动速度很快,但每次我尝试导航到 root 以外的另一条路线时,我都会收到此错误:

```

```

ngc 编译时没有任何警告或错误。

我的 rollup.config.js 如下:

```

```

当使用 Babel 将 ES2015 捆绑包转换为 ES5 时,我收到以下警告:

[BABEL] Note: The code generator has deoptimised the styling of "./dist/bundle.es2015.js" as it exceeds the max of "100KB".

可能是什么问题?

问候,史蒂夫

0 投票
0 回答
266 浏览

javascript - Angular2+rollupjs: "node_modules\rxjs-es\util\root.js: 'import' 和 'export' 可能只出现在顶层"

按照此处提供的建议,我无法使用 Rollupjs 构建 Angular2 应用程序:http: //blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/

在执行“npm run rollup”时,rollupjs 会抛出上述错误。我的设置如下:

rollup.config.js

包.json:

整个项目(例如它)在这里: https ://github.com/evelbulgroz/public-transit-app-rc5​​2

这有点新,所以不确定我是否遗漏了一些明显的东西?并且非常卡住,因此非常感谢任何帮助。

0 投票
2 回答
279 浏览

javascript - 与 rollup.js 捆绑时“未定义 OuterSubscriber”

更新到 Angular2 RC7 后,在浏览器中运行时出现以下 JavaScript 错误:

OuterSubscriber 未定义

这只发生在我使用rollup.js. 如果我在未捆绑 JavaScript 的情况下运行应用程序,它可以正常工作。

该错误必须以某种方式与之相关,rxjs因为OuterSubscriber它是其中的一部分。我检查了捆绑包,但在那里找不到OuterSubscriber。我想rollup.js认为它没有必要,因此不包括它。

环境:

  • angular, v2.0.0-rc.7
  • rxjs, v5.0.0-beta.12
  • systemjs, v0.19.27
  • gulp-rollup, v2.4.0
  • rollup-stream, v1.13.0

system.js配置中,我将umd模块(例如core.umd.js)映射为angular. 因为rxjs我使用了本中的经典映射。

有谁知道我在这里做错了什么?

0 投票
9 回答
9116 浏览

angular - 使用 Rollup for Angular 2 的 AoT 编译器并导入 Moment.js

我正在尝试遵循 Angular 2 的官方 AoT 指南,并且在我的应用程序中使用 Moment.js。Moment.js 在我的packages.json文件中,我使用的是 2.15.0 版本。到目前为止,我一直在这样导入它:

但是当我到达必须运行汇总的部分时,我最终会遇到以下错误:

无法调用命名空间(“时刻”)

这似乎与我根据导入时刻的方式有关。那么,我该怎么做呢?我似乎无法以任何其他方式导入时刻。如果我使用

我得到编译错误

外部模块“时刻”没有默认导出

0 投票
2 回答
717 浏览

javascript - 如何选择性地导入 ES2015 模块功能,但使用命名空间?

我开始使用 Rollup 和 D3 版本 4,它是用 ES2015 模块编写的。我使用传统的 D3 命名空间“d3”编写了一些代码。现在我想使用 Rollup 创建一个自定义包。我想使用 tree-shaking,因为我可能只使用了 d3 中大约一半的功能,而且我想让事情尽可能轻松。

我很清楚我可以有选择地导入函数,例如:

这将很快变得非常冗长,因为 d3 的一半是很多函数。我可以忍受这一点。更大的问题是它还需要在没有命名空间的情况下完全重写我所有的函数标识符。我不太在意,因为我更喜欢命名空间库代码。

我知道我可以导入所有模块:

它保留了 d3 对象命名空间,这对我的代码组织很有好处。但是,Rollup 无法将未使用的函数从捆绑包中摇出。

我的梦想是这样的:

但是规范中似乎不存在这种功能/语法。如何有选择地定位模块的各个部分,并在导入期间保留命名空间?

0 投票
0 回答
998 浏览

javascript - react-dom 和 rollupjs:无法分配给对象的只读属性“历史”

我正在尝试使用汇总来捆绑我的 React 应用程序,我目前收到此错误:

未捕获的类型错误:无法分配给对象“[对象窗口]”(匿名函数)@ bundle.js:6115 的只读属性“历史”

这是在这个位置。

我的汇总配置:

我错过了什么?