Requirejs optimiser - 包含某些文件和文件夹的嵌套依赖项

时间:2013-10-12 17:46:00

标签: javascript requirejs r.js

我正在使用RequireJS优化器来缩小和连接我的代码。目前,由于嵌套的依赖关系,r.js并没有缩小我的很多脚本。

我希望包含嵌套依赖项:

  • 内部所有依赖项:'js / services'
  • 特定JavaScript文件列表的所有嵌套依赖项

注意:我确实意识到有findNestedDependencies: true选项,但这会查找应用程序中所有JavaScript文件的绝对依赖关系,因为我只想对某些JavaScript文件和文件夹执行此操作,因为我有一个每个页面/视图上总是使用的文件集。

我当前的构建文件如下所示:

  ({
    baseUrl: '../static/js',
    mainConfigFile: '../static/js/main.js',
    name: 'main',
    out: '../static/js/scripts.min.js',
    paths: {
        requireLib: 'vendor/require/require.min'
    },
    include: 'requireLib'
})

我一直在关注本教程以使优化器运行: http://www.youtube.com/watch?v=m6VNhqKDM4E

1 个答案:

答案 0 :(得分:6)

您可以使用include指定要强制进入输出文件的所有依赖项:

// ...
include: ['requireLib', 'js/services/dep1', 'js/services/dep2'],
// ...

我认为没有办法包含整个文件夹(类似"js/services/*")。


因为在我的项目中我有许多动态依赖项,我想在输出中包含我最终创建一个“js / services / _all.js”模块,该模块列出了其目录中的文件,例如:

define([
    './dep1',
    './dep2'
  ],
  function () {
    // this module imports all modules from current folder so 
    // there's no need to list every single file in the build config
  });

然后使用:

配置r.js
// ...
include: ['requireLib', 'js/services/_all'],
// ...