2014-10-29 112 views
-1

下面是我的代碼未定義模塊內需要()爲requirejs

// config 
requirejs.config({ 
    paths: { 
     jquery: 'library/jquery', 
     jsBarcode: 'library/jsBarcode.all.min',                     
     q: 'library/q.min', 
    }, 
    shim: { 
     jsBarcode: { 
      deps: ['jquery'], 
      export: 'JsBarcode', 
     }, 
    } 
}); 

// Main entry 
require(['jquery', 'q', 'jsBarcode'], function (j, q, barcode) { 
    window.Q = q; 
    console.log(barcode); // get undefined 
}); 

指南佈局

└── webcontroller ├── bootstrap.min.css ├── image │   └── load_trans.gif ├── scripts │   ├── library │   │   ├── jquery.js │   │   ├── jsBarcode.all.min.js │   │   └── q.min.js │   ├── main.js │   ├── promise_factory.js │   ├── require.js │   └── view.js └── style.css

  • 加載序列

順序裝載腳本是下我的期望。

enter image description here

  • 問題

然而,barcode是未定義所有的時間。

任何人有關於這個問題的想法?

  • 更新

然而,下面的代碼可以轉儲出來的東西....

console.log(JsBarcode);

回答

1

修正錯字export - >exports,它必須是根本原因。你也有三個逗號,儘管它看起來不會造成麻煩。最後,必須在jsBarcode.all.min.js中定義一些全局JsBarcode,這就是爲什麼你的console.log轉儲它。

jsBarcode: { 
     deps: ['jquery'], 
     exports: 'JsBarcode' 
    } 
+0

lol。你拯救了我的生命。謝謝 – 2014-10-30 02:03:49