需要 js 优化器缩小我的项目但不连接到捆绑文件中

Require js optimizer minifying my project but not concatenating into bundled file

我不清楚如何将多个js文件捆绑到一个文件中。当我 运行 优化器时,结果是一个输出目录,其结构反映了我的源目录。其中的所有文件都被缩小了。那挺好的。但我要找的是一个缩小的文件。我不这么认为。所以我的项目是优化的,但没有串联。

我一定是对如何配置进程有误解。这是我正在做的事情:

我在目录中有 r.js 和 build.js。在该目录下的一个文件夹中,我有 sourcejs。该 sourcejs 文件夹有 application.js(我希望优化器跟踪的模块)。该模块 "requires" 在它下面的嵌套文件夹中有很多东西。

这是构建文件:

({
  appDir: "sourcejs",
  baseUrl: ".",
  dir: "sourcejs-build",
  mainConfigFile: 'sourcejs/application.js',
  modules: [
    {
      name: "application"
    }
  ]
})

我假设将优化器指向主模块 application.js,这将是从那里产生所需输出所必需的一切。它将跟踪其中的依赖关系并找到所有子文件夹和文件的路径。优化器似乎确实找到了所有来源。我得到输出:

Tracing dependencies for: application
Uglify file: C:/o/sourcejs-build/application.js
Uglify file: C:/o/sourcejs-build/controller.js
Uglify file: C:/o/sourcejs-build/modules/controllers/auxcontroller.js
Uglify file: C:/o/sourcejs-build/modules/controllers/documentcontroller.js
...long list of files

application.js
----------------
application.js

输出文件 application.js 不是项目的串联版本,而只是其自身的缩小版本。

我这里有什么误会?

默认情况下,优化目录中的所有 js 文件都会缩小。据我所知,根据您提供的配置,它将 application.js 及其依赖的模块捆绑到同一个文件中。

Aplication.js 并且它的依赖项进入 Application.js。 优化过程仅捆绑模块中提到的文件,而将其他文件保留为最小化。如果您希望文件是捆绑包,您必须提供捆绑文件名(很可能您会生成新文件。)您必须在模块中说 create: true 以在构建过程中创建新文件。

{
   name : bundle1,
   create : true,
   include: ['dep1', 'dep2']
},
{
   name : bundle12,
   create : true,
   include: ['depA', 'depB']
}

像这样,您必须指定捆绑包配置,以便在构建过程中创建它们。