问题标签 [requirejs-optimizer]

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 投票
0 回答
91 浏览

javascript - 犀牛 w. 生成已经存在的函数的闭包编译器

我正在使用闭包编译器来优化 require.js 项目。

我正在使用这种方法建议的“app.build.js”文件:

http://requirejs.org/docs/optimization.html#wholeproject

优化选项设置为“ closure ”,我通过Rhino在 Java 中运行它,如下所示:

我在 app.build.js 中将此配置用于闭包编译器:

由于“使用严格”规则而修复了一些错误后,一切正常,我的项目在一个文件中被缩小。这是在 Window 10 上运行构建时。

但是如果我在另一台机器上运行它(在 Ubuntu 16.04 下),一些方法被闭包编译器命名为“ on ”。因此,在运行时,当我尝试使用 "this.on ("EVENT"..." 注册一个侦听器时,会调用一个随机方法并使一切崩溃。

请注意,“this.on”是在父类中定义的(使用 require extends 机制)。我尝试在当前类中定义它:闭包编译器无论如何都会在它旁边创建另一个“on”方法,它会在运行时覆盖第一个:'(

我尝试仅优化相应的文件:问题仍然存在,除了另一种方法名为“on”,其他方法名为“o0”“oa”等...

有没有人遇到过这样的问题,你知道如何避免吗?也许一些我不知道的编译器选项?

我正在使用closure-compiler v20180204(当前最后一个)

编辑:

似乎闭包编译器在这里不负责。事实上,在 SIMPLE 模式下使用闭包组合不会重命名任何东西。并在 ADVANCED 模式下单独使用闭包编译器(java -jarclosure.jar ...)工作得很好。

所以问题是:Rhino 在使用 optimization="closure" 模式时是否应用了一些重命名规则?如果是这样,我们可以以任何方式编辑这些规则吗?

0 投票
1 回答
46 浏览

javascript - 使用 RequireJS 和 node 优化创建单个输出文件不包括所有必需的文件

我使用的是FayeJS,并且最新版本已修改为使用 RequireJS,因此不再有单个文件可以链接到浏览器中。相反,结构如下:

我正在使用以下 nodejs 构建脚本来尝试将上述所有内容缩小到一个文件中:

faye_browser.js 的内容是:

据我了解,优化器应该拉入所需的文件,然后如果这些文件有所需的文件,它应该拉入那些等等......,并输出一个包含全部内容的缩小的 faye.min.js,重构,因此不需要额外的服务器端调用。

会发生什么是 faye.min.js 被创建,但它只包含 faye_browser.js 的内容,没有包含其他必需的文件。

我在网上搜索过,看了一堆不同的例子,但没有一个对我有用。

我在这里做错了什么?

0 投票
1 回答
140 浏览

build - 如何使用 requirejs 构建 durandal 应用程序?

我正在使用 gulp-durandal 但它只支持构建到一个文件中。

现在我想使用 requirejs 和这个bundles功能,但还不能让它工作。

这是我使用的 gulp 文件:

main.js文件如下所示:

虽然 gulp 运行没有任何错误,但是当我访问该站点时,出现了一个奇怪的 HTTP 请求:

我猜文件夹内的插件durandal/js/plugins没有正确编译。我该如何解决这个问题?

我尝试明确指定widget库,但它仍在寻找Scripts文件夹:

我也不明白 durandal 一开始是怎么跑的。因为,据我所知,您必须定义每个单独的模块,所以这个配置如何工作:

0 投票
0 回答
40 浏览

javascript - 未捕获的错误:不匹配的匿名 define() 模块:function() {return uuid;}

我已经安装了 pinata SDK 使用

我正在实现使用 pinata 将文件添加到 IPFS 的代码

我面临以下错误。

https://requirejs.org/docs/errors.html#notloaded

https://requirejs.org/docs/errors.html#mismatch 在此处输入图像描述

我已经安装了 require.js 节点模块。我无法正确理解错误。我是 js 新手。请帮帮我。