使用带有RequireJS Optimizer的CDN

使用带有RequireJS Optimizer的CDN,requirejs,Requirejs,RequireJS允许从CDN加载库。在CDN关闭的情况下,还可以使用备份选项,文件可以位于其他位置(在本例中,我们假设它位于本地)。这都是在路径对象中完成的。例如,要从CDN加载JQuery,然后在CDN关闭时在本地加载,请执行以下操作: paths : { jquery : [ 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min', 'lib/jquery',

RequireJS允许从CDN加载库。在CDN关闭的情况下,还可以使用备份选项,文件可以位于其他位置(在本例中,我们假设它位于本地)。这都是在路径对象中完成的。例如,要从CDN加载JQuery,然后在CDN关闭时在本地加载,请执行以下操作:

    paths : {
    jquery : [ 
        'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min',
        'lib/jquery',
    ]}
上面的示例将首先尝试从CDN中查找查询,然后从lib/jquery中查找查询

问题 我的印象是,当使用requirejs Optimizer时,事情会缩小并模糊到一个大文件中。a备份选项在Optimizer中如何工作?它会包含在缩小的文件中吗?如果是这样,那么使用CDN绝对没有好处。但是,如果优化版本中未包含备份选项,那么如果CDN出现故障,优化后的代码将如何应对


提前感谢您的回答。

您可以为您的常规站点设置不同的配置,而不是为优化器提供不同的配置,因此在这种情况下,您可以在优化器版本中使用“空”配置,以便在组合/缩小版本中不包括jQuery:

paths: {
    jquery: "empty:"
}
有关更多详细信息,请参阅文档:

是的,我知道这一点,但是“备份选项”有什么用呢。我的意思是,这段代码将更多地用于生产,而不是测试。在我看来,备份选项是完全无用的,因为谁使用了未优化的JavaScript。如果未优化的意思是不与其他模块结合,那么是的,你有一个很好的观点。但是没有任何东西表明你的备份文件不能缩小。另外,您可能希望在使用CDN时,它会在很高的时间内成功加载。谢谢,您在最后的评论中回答了我的问题。我所说的不可选择,不是指不合并。我不知道为什么会有这样的选择。如果CDN出现故障时异步加载此备份选项将非常酷,但AMD可能很难实现这一点。詹姆斯·伯克,如果你正在读这篇文章(机会有多大!),请你想想这个。