所以也出現了類似的問題,但我希望得到一個最新的答案。使用微風和requireJS
版本 -
清風:1.4.0 淘汰賽:2.2.1 RequireJS:2.1.5
我試圖與knockoutJS一個requireJS項目加載微風。我們requireJS配置非常簡單 -
require.config({
waitSeconds: 15,
paths: {
'templates': "/ist-common/templates",
'lib': '/ist-common/js/lib',
'ist': '/ist-common/js/ist'
}
});
所以我裝微風庫到以下目錄結構 -
LIB
----> q.js
---->微風。 debug.js
我試圖定義一個「DataService的」模塊使用的微風,並設置它像所謂
define(['lib/knockout', 'lib/q', 'lib/breeze.debug'], function (ko, Q, breeze) {
var serviceName = '/ist/rest'; // route to the endpoint
var manager = new breeze.EntityManager(serviceName);
manager.enableSaveQueuing(true);
var query = new EntityQuery("missions");
manager.executeQuery(query, function(data) {
console.log("success");
});
});
此配置是否可行?我試圖保持我的腳本標籤下降到最低限度,只加載requireJS,然後加載淘汰賽,jquery等,因爲我需要他們在我的模塊定義。
這個配置目前未能與MESSAGE-
Error: Unable to initialize Q. See https://github.com/kriskowal/q
編輯*
我能得到它具有以下配置的需要加載Q,但是這種感覺是錯誤的。爲什麼我應該設置window.Q?我不應該能夠將Q作爲命名模塊訪問嗎?
var require = {
waitSeconds: 15,
deps: ["/ist-common/js/lib/q.js"],
callback: function(Q){
window.Q = Q;
},
paths: {
'templates': "/ist-common/templates",
'lib': '/ist-common/js/lib',
'ist': '/ist-common/js/ist'
}
};
哪個版本是您使用自己定義爲「jQuery的」? (微風) –
用版本編輯 - 微風:1.4.0淘汰賽:2.2.1需求:2.1.5 – thebringking