require_s中的require()里面有未定义的模块

时间:2014-10-29 10:32:29

标签: 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 个答案:

答案 0 :(得分:1)

修正拼写错误export - > exports,它必须是根本原因。你也有三个过多的逗号,虽然它似乎不会引起麻烦。最后,必须在JsBarcode中定义一些全局jsBarcode.all.min.js,这就是您console.log转储它的原因。

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