使用requireJs和Qtip

时间:2014-02-13 06:31:35

标签: requirejs

这是我的main.aspx

  

      

<%--RequireJS--%>
<script data-main="coopjs/app" src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.js"></script>
     

这是我的app.js

requirejs.config({
    "app_name": "coop",
    "baseUrl": "coopjs",
    "paths": {
        "jquery_ui" : "http://code.jquery.com/ui/1.10.2/jquery-ui",   
        "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery",
        "coopDragDrop": "../Scripts/coop/coopDragDrop",
        "qTip2 ": "http://cdnjs.cloudflare.com/ajax/libs/qtip2/2.2.0/jquery.qtip.min.js"
    }
});

这又是我的main.aspx

(function () {
            require(["qTip2"], function () {
                alert('hi');
            });
        })();

尝试加载本地而不是CDN,抛出错误

GET http://localhost:43122/coopjs/qTip2.js 404 (Not Found) 

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

qTip的paths设置中有空格:

"qTip2 ": "http://cdnjs.cloudflare.com/ajax/libs/qtip2/2.2.0/jquery.qtip.min.js"

"qTip2 "更改为"qTip2"。你甚至可以删除引号。您何时require使用与"qTip2"不匹配的"qTip2 "

还有另一个问题。 RequireJS异步加载data-main指向的文件,因此无法保证在您需要qTip2之前进行requirejs.config调用。因此,在coopjs/app.js电话之后,将这段代码移到requirejs.config文件中:

require(["qTip2"], function () {
    alert('hi');
});