Gulp + RequireJS删除供应商文件

时间:2016-05-20 22:03:39

标签: requirejs gulp

我在使用Gulp正确编译RequireJS项目时遇到问题。我需要做的是让gulp创建一个只包含运行应用程序所需文件的分发文件。

在我们的应用程序中,我们遵循模块化方法,将主要功能分解为不同的回购。因此,在开发我的文章时,我有RequireJS包括angular和许多其他供应商库,这些库是应用程序中所有项目共有的。然而,当我将我的片段移动到更大的应用程序中时,我不再需要在最终输出中使用这些文件,因为那些依赖项也存在于该应用程序中(并且具有这些额外的库也使得最终分发文件超过300K)。

我尝试创建另一个main.js(称为gulp-main.js)文件,该文件只包含我需要的依赖项,但是当我运行gulp进程时它失败了。我没有收到错误,但它似乎失败了,因为我没有包括项目成功构建所需的依赖项。下面是传递给RequireJS optimize方法的配置对象。

var config = {
    baseUrl: 'app/',
    mainConfigFile: 'app/main.js',
    out: 'dist/app/output.js',
    name: 'main'
};

关于如何删除不必要的供应商文件甚至将它们拆分为单个供应商和单个非供应商文件的任何想法都将非常感激。我已经尝试过使用modules数组选项,但这并没有产生我所追求的结果,因为它似乎为每个项目创建了一个单独的文件而不是一个包含所有脚本的单个编译的JS文件。

提前致谢。

1 个答案:

答案 0 :(得分:0)

当你不想在最终输出中有一些文件时。在您的gulp任务的src中添加" ! "

示例:

 gulp.src(['./app/*.js', '!./node_modules/**'])    // '!./vendor-libraries-dest to igonore'