-1

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

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

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

这是构建文件:

({
  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 不是项目的串联版本,而只是其自身的缩小版本。

我在这里有什么误解?

4

1 回答 1

0

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

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

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

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

于 2017-11-14T16:04:00.793 回答