问题标签 [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 回答
696 浏览

angular - 如何在汇总中导入 stompjs

在带有 typescript 的 ng2 应用程序上,我使用的是 stompjs,它可以在没有汇总的情况下正常工作。

我正在导入它:

import {Stomp} from "stompjs"

运行汇总后,我得到“例外:未定义 Stomp”

我的汇总配置是:

stompjs 的 TypeScript 类型定义文件

0 投票
1 回答
505 浏览

angular - 使用 rollup.js Angular 2 对每个 ngModule 进行多重捆绑

我查看了一些关于 rollup.js 的文章,看起来它是一个非常有趣的模块加载器,具有很酷的捆绑可能性。但是,实际上,我没有看到如何将它配置为多个 Angular 2 模块捆绑。例如:我有 10 个模块,其中 5 个是延迟加载的。因此它们可以是可以异步加载的拆分独立包。

可以用 rollup.js 吗?谢谢(因为我真的没有找到任何相关信息)。

0 投票
0 回答
290 浏览

typescript - 如何使用 rollup.js 将依赖项添加到 ionic 2 应用程序

我注意到 ionic2 使用 rollup.js 作为他们的模块捆绑器。它看起来很简单,除了我对它如何适应 ionic2 项目有点迷茫。Ionic 在他们的CHANGELOG中唯一提到了这一变化。

查看rollup.js文档后,他们展示了如何导入汇总模块 ,对于npm项目,它们是您要添加的应用程序本身的任务运行器

package.json运行npm build以创建您的捆绑包。

所以我仍然不确定这如何与 Ionic 一起使用,因为我注意到该rollup.config.js文件位于node_modules文件夹中(完整路径node_modules/@ionic/app-scripts/config/rollup.config.js),并且对文件夹中的任何内容进行任何更改感觉非常不自然,node_modules因为每次重建时都会丢失汇总配置您的node_modules或从 git 中提取/克隆。

那么如何将第三方模块添加到您的 rolllup 包中呢?

0 投票
1 回答
570 浏览

angular - 如何使用汇总、打字稿、angular2 包含/扩展 JS 库

我在这个项目angular2-google-maps-test上构建,我想包含和扩展这个 JS 库js-marker-clusterer

npm install --save js-marker-clusterer

这似乎没有写成module.

我想做这样的事情:

然后在打字稿中扩展该类

但在rollupjs我不断收到此错误:

我的猜测是我需要在rollup.config.js文件中添加一些内容,但是我尝试将其添加为 aplugin并且没有用。

0 投票
1 回答
1089 浏览

bash - 将 bash 变量传递给 rollup.js

我正在尝试将变量传递给 bash 中的 rollup.js。我不知道这是 bash 的问题,还是 rollup.js 的问题,因为我对 bash 没有那么丰富的经验。但也许有人可以在这里帮助我……</p>

这是我的终端输入:

汇总抛出错误:

rollup 一次只能捆绑一个文件

我将问题追踪到路径内的空白处。

但是,这两种方法都有效:

只有当我使用变量时才会出现问题。我还尝试转义变量而不是将其放在括号中,但这也不起作用。

有没有办法让变量表现得像我想要的那样,这是一个问题,rollup.js 必须处理,还是根本不可能通过变量使用带有空格的路径作为参数?

0 投票
1 回答
523 浏览

javascript - 如何使用 Rollup.js 捆绑使用 Sinon.js 的测试?

我正在使用带有插件的 Rollup.jsrollup-plugin-node-resolverollup-plugin-commonjs捆绑使用 Sinon.js 的测试。当我尝试运行捆绑文件时,出现以下错误:

错误:rollup-plugin-commonjs 当前不支持动态要求

这个错误有什么解决方法,还是我必须使用其他工具,比如 Webpack?

0 投票
1 回答
135 浏览

angularjs - 捆绑现有 Angular 2 应用程序的最简单工具

我有一个已经可以使用 express 作为后端服务器的 Angular 2 应用程序。

express 服务器有一些逻辑可以根据 URL 和文件类型将请求重定向到正确的路径,这意味着没有一个“公共路径”包含所有文件。

我发现我的应用程序需要 16 秒才能加载,并且在首次加载时向服务器发出了 454 个请求。

因为我不知道我必须处理捆绑,所以我有点卡住了。所以现在我很困惑在保持服务器端不变的同时使用哪个工具进行捆绑(快速服务器)。

我试过 webpack,但它有 webpack-dev-server 作为后端,这意味着我需要重构 express 服务器逻辑以适应 webpack 服务器或使用 webpack 服务器作为中间件,这看起来也很麻烦。

我看到了其他一些选项,但由于信息太多而简单的例子很少,所以在中间迷失了方向。

我在 gulp、rollup、systejs-builder、browserify 中看到的一些工具。如果可以,请帮助我找到处理捆绑的最简单方法并提供示例说明。

0 投票
2 回答
2492 浏览

angular - 错误:SyntaxError:意外的严格模式保留字

以下是我生成bundle.min.js的步骤:

1)首先,使用es2015为我的目标和模块进行 tscompile。

2)npm run rollup(即rollup -f iife -c -o dist/prod/client/app/bundle.es2015.js)。

3) npm run es5 (即tsc --target es5 --allowJs dist/prod/client/app/bundle.es2015.js --out dist/prod/client/app/bundle.js )。

4)npm run minify(即uglifyjs dist/prod/client/app/bundle.js --screw-ie8 --compress --mangle --output dist/prod/client/app/ bundle.min.js)。

以下是缩小后的错误:

错误:(SystemJS) Unexpected strict mode reserved word SyntaxError: Unexpected strict mode reserved word at ZoneDelegate.invoke ( https://unpkg.com/zone.js@0.6.25?main=browser:203:28 ) at Zone.run ( https://unpkg.com/zone.js@0.6.25?main=browser:96:43 ) 在 https://unpkg.com/zone.js@0.6.25?main=browser:462:57在ZoneDelegate.invokeTask ( https://unpkg.com/zone.js@0.6.25?main=browser:236:37 ) 在 Zone.runTask ( https://unpkg.com/zone.js@0.6.25?main =browser:136:47 ) 在 drainMicroTaskQueue ( https://unpkg.com/zone.js@0.6.25?main=browser:368:35 ) 评估 http://localhost:9000/app/bundle.min.js错误加载 http://localhost:9000/app/bundle.min.js

在此处输入图像描述

当我使用 Rollup.js 进行 Tree Shaking 为我的 angular2 应用程序创建生产版本时,我遇到了上述错误,但我不确定我之前做错了什么,它工作正常,仍然在开发环境中工作,但不在生产请帮助我我还尝试在不缩小的情况下运行我的应用程序,即第 4 步 ,它显示以下错误:

错误:TypeError:__extends 不是函数?

0 投票
1 回答
341 浏览

javascript - 应用程序汇总和摇树

我们在这里得到的是一个相当大的Angular 2应用程序,它主要是在 Angular 还很年轻时开发的,并且没有compiler-cli类似的工作。完成后,我总是想到,在某个时候,我们将进行 tree-shaking 和 AoT 编译,我试图让它在一段时间内工作,但仍然没有成功。

问题是,每当我尝试应用任何rollup可以在 www 上大量找到的例程时,我都会偶然发现一些东西……每次都是这样。

我认为这个构建与在 Web 上可以看到的其他构建不同的是项目布局——我们这里有一堆自己编写的外部Angular 2npm 模块,它们将一些通用功能封装到最终项目中,这些应该包含在最终包中.

所以布局是:

1) 有多个npm包含TypeScript源文件的模块,并附有JavaScript转换为es2015格式的版本;

2)有一个应用程序有自己的模块,这些模块严重依赖从外部模块导入的npm模块;

3)我要求不高——我只想:b) 为具有相同布局的生产构建实现 AoT 编译;

问题

每当我尝试使用最简单的rollup模块示例时,我最终'createPlatformFactory' is not exported by node_modules\@angular\core\bundles\core.umd.js (imported by node_modules\@angular\platform-browser-dynamic\src\platform-browser-dynamic.js). For help fixing this error see https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module都会偶然发现类似的情况:当我尝试将项目转换为JavaScript然后将其捆绑rollup甚至尝试通过rollup-plugin-typescript.

我对此的假设是,即使自 RC6 以来的 Angular 源es2015格式core.umd.js不是 - 它的UMD格式具有不同的导入/导出等。

那么,任何人都可以确认这是一个问题吗?另外,我们如何解决这个问题?(我真的尝试了所有我能想象到的解决问题的策略,但都没有奏效。)

希望有人可以帮助解决这个问题。

0 投票
1 回答
431 浏览

kendo-ui-angular2 - 使用汇总和外部依赖项部署 Angular 2 应用程序 Aot

我已经实现了一个使用Kendo UI Grid的 angular 2 应用程序:
使用 AoT + Rollup 部署应用程序时我被卡住了:

错误:“GridModule”不是由 node_modules\@progress\kendo-angular-grid\dist\npm\js\main.js 导出的(由 app\app.module.js 导入)。

从汇总文档中尝试过但我不明白如何配置namedExports

使用上述配置并不能解决问题。

编辑:最后我的网格工作配置是:

如果启用了“包含”部分,它将不起作用