问题标签 [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 - 使用带有 Rollup 的节点模块构建 Web 客户端
我正在尝试使用汇总而不是 browserify 和 babel 构建一个反应应用程序。我意识到我需要使用rollup-plugin-babel
来转换 jsx,但是当我告诉 rollup 格式为iife
时,最终页面加载时出现错误:
Uncaught ReferenceError: React is not defined
我需要添加什么以包含我在最终构建中rollup.config.js
安装的节点模块?package.json
javascript - 在业力预处理器中将文件添加到监视列表
这是为演示该问题而创建的存储库:
briamhunt/karma-rollup-preprocessor-issue-3
我正在尝试让 karma-rollup-preprocessor 与 Karma 的内置手表一起使用,即解决showpad/karma-rollup-preprocessor#3
换句话说,在预处理器中,我想将文件添加到 Karma 的监视列表中。
很容易获得 Rollup 用于编译的文件列表。Rollup 返回它读取的文件列表(一个想要观看的文件),所以在预处理器中我试图将文件添加到列表 karma 手表。
基本上我想将这个(或等效的)添加到预处理器中:
files
Karma'sconfig.files
或fileList
任何需要放置正在观看的文件的地方在哪里。
使用 执行上述config.files
操作,文件确实被添加到观察者中,.on(fileList.changeFile)
但_isIncluded
.
所以看起来文件也(或替代地)必须添加到fileList
.
不幸的是,当我尝试添加 时fileList
,$inject
我收到错误:
错误:无法解决循环依赖!(解决:预处理 -> 预处理器:汇总 -> 文件列表 -> 预处理)。
我基本上查看了所有其他看起来也可以添加包含的预处理器,但我没有发现如何去做。
有没有一种规范的方法来添加 Karma 应该从预处理器中观看的文件?或者其他人怎么可能做到这一点?这对于 Karma 中的预处理器来说似乎非常重要,因此令人惊讶的是,它在其他预处理器中没有记录、不明显或有问题。
编辑 这里还有一些尝试:
我试图将观察到的模式添加到config.files
in karma.conf
ie
但是src/*
更改时不会重新编译。测试只是重新运行。
所以我尝试了这样的chokidar:
我还尝试了去抖动,以防 Karma 刷新速度较慢,但似乎测试不会重新运行。
我扎根于 karma-browserify 寻找灵感,但如果不深入研究,它有点太复杂了。
rxjs5 - 使用汇总捆绑仅使用的 RxJS 模块
我正在尝试将一个项目与依赖于 RxJS (v5) 的汇总捆绑在一起。我想要的是汇总到 tree-shake 并且只包含我正在使用的 RxJS 模块。
我想我已经接近了,但它从以下位置离开system-observable
:
示例 repo 在这里。
我目前正在使用npm i rxjs-es
,我知道还有其他 rxjs 安装,但我假设那是正确的。
这是我目前正在做的事情:
更新:如果我将 RxJS 的唯一依赖项重写symbol-observable
为 ES6 模块,那么它可以工作。
我的问题是:
- 汇总(和一些插件/配置)是否应该处理转换以获取 CJS 依赖项?还是应该做一个 PR 来
symbol-observable
制作 es6? - 是否需要自定义插件来重写
rxjs-es
导入路径?或者是否有现有的插件或配置可以做到这一点?
更新 2:看起来symbol-observable
大约一周前已经这样做了,但是 npm 正在安装旧版本。( https://github.com/ReactiveX/rxjs/issues/1785 )
javascript - 使用 uglify 保持 javascript 包文件美化
我正在使用rollup-plugin-uglify
汇总,我得到了我的 JS 包的开发和生产版本,我想要开发模式。尽管我正在使用 uglify,但请保持我的文件美化
我尝试将其指定如下(在开发版本中):
我正在使用rollup-plugin-uglify
汇总我得到了我的 js 包的开发和生产版本,我希望在开发模式下保持我的文件美化,尽管我正在使用 uglify
但不幸的是,文件输出仍然丑陋。
任何想法?
javascript - 如何使用汇总导入某些内容
riot-mixin-pack
通过在代码顶部使用此行,我成功地使用了汇总:
卷起时domEvent
和parentScope
对象包含在我的文件顶部。
我想用一种或两种支持的语言导入highlight.js输入我的汇总文件,但我似乎无法弄清楚import
我需要的行。
有什么办法可以做到这一点?
angular - 汇总 Angular2 类错误(InjectMetadata)
我使用标准 tsc (v1.8.10) 编译和 Rollup.js (v0.34.3) 捆绑 Angular 2 应用程序,但执行时出现以下错误:
堆栈跟踪的其余部分似乎通过依赖注入器:
具体来说,我对 Angular2 还是很陌生。
angular - Angular2 RC4 构建时出现摇树运行时错误
根据这篇文章,我尝试使用摇树构建我的测试应用程序。 http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/
构建脚本运行正常,但是当我使用 bundle.js 时出现运行时错误。
Observable$1.from 来自 dist\bundle.es2015.js
这个函数起源于
当我使用汇总生成 dist\bundle.es2015.js
如果我通过 browserify-js 构建应用程序而没有摇树,那么这个函数会显示为 Observable_1.from() 并且应用程序可以正常工作。
我认为可能是 Angular2 zone.js 对 Observable$1 过敏所以我手动将 bundle.es2015.js 中的所有 Observable$1 更改为 Observable_1 然后运行
然后我得到了这个
谁能告诉我这是由于汇总错误还是我错过了什么?
这是构建脚本
rollup.config.js 和 tsconfig.json 与上面的链接相同。
angular - 来自 angular2-material 输入模块的汇总错误
我在这里学习教程http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/
当我尝试运行汇总时,出现此错误。模块 /Users/gordon/workspace/CraigsMenu/craigsmenu-web/node_modules/@angular2-material/input/input.js 不导出 MdInputModule(由 /Users/gordon/workspace/CraigsMenu/craigsmenu-web/dist/app 导入。模块.js)
我不确定是哪件事导致了这个问题。angular2 材质输入是否可能没有正确支持 es2015 并且仍然是 commonjs 模块?
任何事情都有帮助。提前致谢!
javascript - 使用 CommonJS 模块汇总导出未命名函数作为模块?
我有一个名为 的 CommonJS 模块,inner.js
它定义了一个函数,然后将该函数导出为整个模块:
在 Node 中,我可以很容易地验证它是否按原样工作。
但这是我想从 ES6 模块中使用的遗留模块,称为outer.js
:
我看到这在这些情况下很常用,但是当 CommonJS模块将函数导出为整个模块rollup-plugin-commonjs
时,我无法让它工作。inner.js
如果在运行汇总并将结果转储到 之后loadme.js
,我尝试运行加载 ES6 外部模块并尝试调用内部 CommonJS 模块中最初定义的函数,我会收到错误消息:
我想我只是未能正确加载 CommonJS 模块,以使模块本身作为一个函数运行。我对 UMD 不够熟悉,无法从检查汇总输出中获得任何有意义的东西。
这篇文章的其余部分是关于一个最小的例子。
这是我的非常简单的index.js
:
这是由我的汇总配置读取的:
我有一个完整的可克隆存储库来演示该问题。