[英]Error trying module loading ( AMD ) with require.js
此時,我對requirejs感到有些沮喪。
我正在嘗試在我的App.coffee文件中加載jquery和其他庫。 問題是我無法在定義中加載模塊依賴項。 一些輸入參數(jq,jsn等)為null或只是HTMLDocument對象。 這會根據我嘗試的插件排列而變化:“ order”,“ domReady”或沒有。
我的js lib目錄看起來像A)。 我的App.coffee文件看起來像B)。 我試圖在require.config中使用“路徑”,並且僅使用原始文件引用(您在下面看到的內容)。 我知道requirejs-jquery集成。 但是我不能訂購插件嗎?
如果嘗試將其命名為“路徑”,則會收到一組不同的錯誤。 我看到有人建議使用jQuery 1.7 ( 也在此處 )。 這管用嗎? 我首先想退后一步,並確保我正確理解了這些概念。 i)require.config ii)具有依賴項的模塊定義,iii)訂單插件等。
如果我正確理解了這些概念,我認為這是一個jQuery版本問題。 但是,不僅僅是依賴jquery。 以這種方式浪費時間實在令人難以置信。 任何幫助表示贊賞。 提前致謝。
一種)
$ tree js/lib/ js/lib/ ├── backbone.js ├── backbone_loader.js ├── domReady.js ├── jquery-1.6.3.js ├── json2.js ├── order.js ├── pure.js ├── require.js └── underscore.js
B)
require.config({ baseUrl: "/js", paths: order : '/js/lib/order' jQuery : '/js/lib/jquery-1.6.3' json2 : '/js/lib/json2' Underscore : '/js/lib/underscore' Backbone : '/js/lib/backbone_loader' pure : '/js/lib/pure' }) define( [ 'js/lib/order!js/lib/jquery-1.6.3', 'js/lib/order!js/lib/json2', 'js/lib/order!js/lib/underscore', 'js/lib/order!js/lib/backbone', 'js/lib/order!js/lib/pure', 'js/lib/order!js/bkeeping/models', ] (jq, jsn, und, bbn, pur, models) -> console.log('bkeeping LOADED') # return an object with the models in it models : models jQuery : jq.noConflict() json2 : jsn Underscore : und.noConflict() Backbone : bbn.noConflict() pure : pure )
感謝您的指導。
但是我去了jquery-1.7,但是仍然不得不從全局空間中拉出對象。 這適用於我現在的其他庫及其依賴項。 我最終要做的是返回一個帶有依賴項的對象。 我用order插件完成了庫的加載。
傳遞給回調函數(jq,pur,jsn等)的依賴項對象協定對於這些庫根本不起作用。 它適用於我定義的模塊(例如:模型),但不適用於外部庫。 我嘗試了use插件 ,但發現它不適用於下划線和主干,或者我沒有正確設置。 這是我目前可行的解決方案; 盡管我不得不說,令人頭疼的是嚴重困擾了require.js的好處。
define( [ 'order!js/lib/jquery-1.7', 'order!js/lib/pure', 'order!js/lib/json2', 'order!js/lib/underscore', 'order!js/lib/backbone', 'order!bkeeping/models', ] (jq, pur, jsn, und, bbn, models) -> console.log('bkeeping LOADED') # return an object with the dependencies in it models : models jQuery : jQuery.noConflict() pure : pur # pure and json2 objects are simply used in other libs. I don't need them directly json2 : jsn Underscore : _.noConflict() Backbone : Backbone.noConflict() )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.