2014-10-29 79 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