需要优化器。排除所有依赖项

时间:2014-10-05 20:56:39

标签: ruby-on-rails requirejs requirejs-optimizer requirejs-rails

我在带有requirejs-rails gem的Rails应用程序中使用requireJS。我想要实现的是创建几个包含公共代码的包。例如libs_a, libs_b, libs_c, ...然后,对于应用程序的某些页面,创建自己的包,其中包含仅与这些页面相关的模块。问题是应该为每个页面列出所有常用模块,以将它们从优化文件中排除,例如:

# config/requirejs.yml

modules:
  # in 'libs' all dependencies should be included
  - name: 'libs_a'
    ...
  - name: 'libs_b'
    ...
  - name: 'libs_c'
    ...
  # in 'pages' all dependencies should be excluded since all of them are already in 'libs'
  - name: 'page_a'
    include: ['a1', 'a2', 'a3', ...]
    exclude: ['libs_a', 'libs_b', 'libs_c', ...]
  - name: 'page_b'
    include: ['b1', 'b2', 'b3', ...]
    exclude: ['libs_a', 'libs_b', 'libs_c', ...]
bundles:
  libs_a: [...]
  libs_b: [...]
  libs_c: [...]
  ...

使用大量模块会变得有点麻烦。据我所知,没有选择只在优化文件中包含那些在构建配置中列出的模块并跳过所有依赖项。这样可以避免重复exclude: ['libs_a',...]。你是如何解决这个问题的?

1 个答案:

答案 0 :(得分:0)

只是一个想法 - 应该可以将build config定义为.js文件。如果你这样做,你将能够包含简单的逻辑来修改配置与排除的库。