当使用requireJS优化器时,什么';构建分层javascript的优点是什么?

当使用requireJS优化器时,什么';构建分层javascript的优点是什么?,javascript,optimization,build,requirejs,require,Javascript,Optimization,Build,Requirejs,Require,我第一次尝试使用requireJs优化器r.js()为生产准备应用程序 我可以让一切正常工作,并且可以将我所有的js放入一个main.js文件,但是一个文件,很多问题 基本问题: Javascript构建层requireJs在谈论什么?我的单一文件 现在我只优化了一个模块main.js,它将所有依赖项捆绑到一个文件中(jquery、jquery mobile,以及启动我的应用程序所需的所有其他内容) 高级问题: 假设在一个页面上,我正在使用一个图形,它使用xy额外的javascript文件,我在

我第一次尝试使用
requireJs优化器
r.js()为生产准备应用程序

我可以让一切正常工作,并且可以将我所有的js放入一个
main.js
文件,但是一个文件,很多问题

基本问题

  • Javascript构建层requireJs在谈论什么?我的单一文件 现在我只优化了一个模块
    main.js
    ,它将所有依赖项捆绑到一个文件中(jquery、jquery mobile,以及启动我的应用程序所需的所有其他内容)

    高级问题
    假设在一个页面上,我正在使用一个图形,它使用xy额外的javascript文件,我在我的应用程序中不需要其他任何地方

  • 我需要做什么来防止这些文件出现在我的
    main.build.js
    文件中
  • 我是否需要在我使用图形的页面上定义一个新模块
    graph
    ,然后优化此模块以将xy文件合并到graph.builded.js中
  • 非常先进
    我的页面由gadgets=自治的HTML/JS/CSS块组成,我在整个应用程序中重用这些块,可以使用JSON对其进行定制

  • 如果通过
    requireJS加载小工具!text
    插件,我的HTML文件将在哪里“优化”成一个大的HTML文件
  • 如果我只想在每个页面上加载我需要的小工具,我是否必须在每个页面上为每个小工具创建一个具有依赖项的模块,然后优化
    模块索引页面
    模块页面
    ,等等,以确保只加载所需的内容
  • 如果这样做,是否会重新请求每个页面上的小工具而不是缓存 谢谢你的见解

    太棒了

    基本问题:

    Javascript构建层requireJs在谈论什么?我的 单个文件

    首先,让我们将buildlayer重新表述为“bundle”,它有更客观的含义。所以它的凝聚模集。它可以是单一的——如果您将或您的模块放在一个构建中,或者如果您想为某些页面构建指定的构建,则可以是少量的

    高级问题:

    我需要做什么来防止这些文件显示在我的 main.build.js文件

    首先,这里有一个非常有用的书签链接-

    简单地说,您可以在r.js配置管理包括exlcude规则中配置模块

    我是否需要在使用图形的页面上定义新的模块图形 然后优化此模块,将xy文件压缩到graph.build.js中

    您只需使用垫片并在其他模块上请求按需输入即可

    非常高级:

    如果通过requireJS加载小工具!文本插件,我的HTML在哪里 文件是否可以“优化”为单个HTML文件

    不,它将在build.js中。这个结果我已经加载模板通过!正文

    如果我只想在每个页面上加载我需要的小工具,我必须吗 为每个小工具创建具有依赖项的每页模块,然后 优化模块索引页面、模块页面和图形等,以确保 只有需要的东西才会被载入

    您可以为每个页面构建自己的buldle,但这不是最好的主意。当我遇到类似的问题时,我决定构建一个bundle,原因有二:它加载一个bundle,更容易控制CDN上的缓存,减少可能的错误和错误。但是,如果您需要单独的捆绑包,请访问我们发布到模块部分的链接

    如果这样做,将重新请求每个页面上的小工具vs缓存

    因此,如果您加载页面并在10个模块中有dep1,那么依赖项文件将加载一次(如果您在buld.js中没有),然后注入模块中。重新加载页面文件时,可以从浏览器缓存中获取,也可以根据浏览器配置再次加载

    希望这会有帮助