使用RequireJS

时间:2017-01-27 15:59:08

标签: javascript requirejs magento2

我想附上这个脚本:http://findify-assets-2bveeb6u8ag.netdna-ssl.com/search/prod/beatmed.com.min.js和RequireJS,但它会从require中删除其他脚本。

我的js配置:

var config = {
    paths: {
        "findify": "//findify-assets-2bveeb6u8ag.netdna-ssl.com/search/prod/beatmed.com.min",
        "test": "////maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min"
    },
}
require.config(config);

在HTML中:

<script type="text/javascript">
  require(['findify']);
</script>

我对findify脚本有问题,&#34; test&#34;在控制台中加载没有错误。

控制台错误:

enter image description here

enter image description here

此脚本还会加载其他文件,例如:beatmed.com.min.js

1 个答案:

答案 0 :(得分:1)

如果您查看下面的findify脚本,您可以看到它覆盖了requirejs实现require,因此无法再找到它的exec函数。 所以findify正确加载,但然后requirejs就消失了!

Findify-script摘录

require = function a(b, c, d) {
    function e(g, h) {
        if (!c[g]) {
            if (!b[g]) {
                var i = "function" == typeof require && require;
                if (!h && i) return i(g, !0);
                if (f) return f(g, !0);
                var j = new Error("Cannot find module '" + g + "'");
                throw j.code = "MODULE_NOT_FOUND", j
            }
            var k = c[g] = {
                exports: {}
            };
            b[g][0].call(k.exports, function(a) {
                var c = b[g][1][a];
                return e(c ? c : a)
            }, k, k.exports, a, b, c, d)
        }
        return c[g].exports
    }
    for (var f = "function" == typeof require && require, g = 0; g < d.length; g++) e(d[g]);
    return e
}({..........
....