【问题标题】:Parallel javascript minification under require.js, using node?require.js下的并行javascript缩小,使用节点?
【发布时间】:2013-05-14 21:45:45
【问题描述】:

我正在使用 node.js 来缩小在 require.js 依赖方案下打包的 javascript 文件, r.js 实际上是在进行缩小。 (见:http://requirejs.org/docs/optimization.html

看来这种缩小策略对于并行化来说已经成熟了。也就是说,每个 javascript是独立缩小的,节点本身应该是可分叉的 一个 bash-shell 上下文。

有人试过吗?现在,根据“时间”,我必须等待大约 4m 43s 以完成当前的缩小过程。

我想回答的一些问题是:节点的几个实例 并行启动? r.js 是否维护任何会被破坏的状态 如果几个缩小是并行进行的?

提前致谢。另外,如果没有人为 node / r.js 构建并行线束,那么 让我知道,如果有需求,我可能会补充一些东西。

【问题讨论】:

  • 缩小本身由第 3 方库 (Closure Compiler/UglifyJS) 执行,因此 r.js 不应该抱怨。不过,这个问题(和提议)可能更适合 Github 上项目的问题(或请求请求)部分。

标签: node.js requirejs r.js


【解决方案1】:

我决定并行执行几个后台 r.js 作业(使用后台进程“&”, 连同“等待”)。结果:r.js 出错了这条消息:

Error: nope
    at check (/path/to/bin/r.js:2744:23)

并行的丑化速度快了大约1m,但结果没有用,因为 以上错误。显然,并行运行 node.js / r.js 进程存在问题。

我正在恢复到顺序 r.js 作业模型,因为它正在产生工作结果。 如果有人解决了并行问题,请联系我。

关于并行作业,除了我这里采用的方法,还有 也是 gnu.org 上更通用的工具:GNU parallel,http://www.gnu.org/software/parallel/

【讨论】:

    【解决方案2】:

    不确定它是否对您有帮助,但我编写了一个 node.js 包,它并行运行 uglifyjs 以加速 js 文件的 uglifying 树(我的产品的运行时间从 2.5 小时缩短到 20 分钟)。

    它应该很容易适应运行其他任何东西。

    见: https://github.com/bitwombat/parallel-uglifyjs

    【讨论】:

      猜你喜欢
      • 2014-09-08
      • 2018-02-23
      • 2022-11-21
      • 2020-06-22
      • 1970-01-01
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多