小编Aus*_*tin的帖子

RequireJS:CDN失败时的本地回退

在我的骨干应用程序中,我需要为每个所需文件提供一个后备,如果提供它们的CDN失败.

我试过require.onError像这样覆盖:

require.onError = function (err) {
    if (err.requireType === 'timeout') {
        var url = err.requireModules;

        if (!!~url.indexOf("jquery/"))
            console.warn("CDN timed out, falling back to local jQuery.js")
            require(["libs/jquery"]);
            return;
        if (!!~url.indexOf("jqueryui/"))
            console.warn("CDN timed out, falling back to local jQueryUI.js")
            require(["libs/jqueryui"]);
            return;
        if (!!~url.indexOf("underscore"))
            console.warn("CDN timed out, falling back to local underscore.js")
            require(["libs/underscore"]);
            return;
        if (!!~url.indexOf("backbone"))
            console.warn("CDN timed out, falling back to local backbone.js")
            require(["libs/backbone"]);
            return;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是这将异步加载回退文件.我需要按顺序加载这些文件,就像我使用order!插件的原始require语句一样.

使用被覆盖的onError:当CDN无法加载时,后备加载开始,但不等待.这提出了一个问题,因为脚本是根据它们的依赖性来加载的.以下是我原来的require陈述,取决于CDN:

require([
    "order!http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js",
    "order!http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js",
    "order!http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js", …
Run Code Online (Sandbox Code Playgroud)

javascript cdn requirejs

29
推荐指数
2
解决办法
2万
查看次数

正则表达式将"snnnoooowww"与"snow"匹配

我正在尝试编写一个正则表达式,它将匹配特定字符顺序中任意数量的某个字符.例如:

"ssssnnnowww"将匹配"snow",但"sssnnnsssooooowwww"与"snow"不匹配

我尝试过以下方法:

/[s][n][o][w]/g // no luck
/s*n*o*w*/ // no luck
Run Code Online (Sandbox Code Playgroud)

javascript regex

2
推荐指数
1
解决办法
130
查看次数

标签 统计

javascript ×2

cdn ×1

regex ×1

requirejs ×1