2014-02-13 45 views
0

这是我main.aspx使用requireJs和Qtip

<%--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

有用于qTip在paths设置一个空间:

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

变化"qTip2 ""qTip2"。你甚至可以删除引号。你什么时候使用 require"qTip2 "不符。

还有一个问题。 RequireJS异步加载data-main指向的文件,因此不能保证在需要qTip2之前您的requirejs.config调用将会发生。所以这一段代码进入你的coopjs/app.js文件,您的requirejs.config电话后:

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

我删除空格和引号,但同样的问题仍然存在。 – cherhan

+1

我之前没有看到另一个问题,因为我专注于最明显的问题。我已经更新了我的答案。 – Louis

+0

对不起,我真的不知道发生了什么。当我运行我的页面时,我是否希望有一个警告框? – cherhan