【问题标题】:Gulp + RequireJS Remove Vendor FilesGulp + RequireJS 删除供应商文件
【发布时间】:2016-05-21 11:49:59
【问题描述】:

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

在我们的应用程序中,我们采用模块化方法,将主要功能分成不同的存储库。因此,在开发我的作品时,我有 RequireJS,包括 Angular 和许多其他供应商库,这些库对于应用程序中的所有项目都是通用的。但是,当我将我的作品移动到更大的应用程序中时,我不再需要在最终输出中使用这些文件,因为这些依赖项也存在于该应用程序中(并且拥有这些额外的库也会使最终分发文件超过 300K)。

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

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

如果我能做些什么来删除不必要的供应商文件,甚至将它们拆分为一个供应商和一个非供应商文件,我将不胜感激。我已经尝试使用 modules 数组选项,但这并没有产生我想要的结果,因为它似乎为定义的每个项目创建了一个文件,而不是一个包含所有脚本的编译 JS 文件。

提前致谢。

【问题讨论】:

    标签: requirejs gulp


    【解决方案1】:

    当您不希望在最终输出中包含某些文件时。在你的 gulp 任务的 src 中添加 " ! "

    示例:

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

    【讨论】:

    • 这在使用 gulp.src 时有效,但我正在尝试将调用的输出更改为 requirejs.optimize。当我运行它时,它会遍历我的 require 主文件并生成一个库,其中包含我需要将文件作为独立应用程序运行的所有文件。我已经看到使用 amdOptimize 的示例,但看起来仍然存在同样的问题。
    猜你喜欢
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2015-09-11
    • 2020-11-15
    • 2020-03-16
    相关资源
    最近更新 更多