以下是我的代码
// 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
加载脚本的顺序符合我的预期。
但是,barcode
始终未定义。
任何人都有关于这个问题的想法吗?
但是,下面的代码可能会丢弃一些东西......
console.log(JsBarcode);
答案 0 :(得分:1)
修正拼写错误export
- > exports
,它必须是根本原因。你也有三个过多的逗号,虽然它似乎不会引起麻烦。最后,必须在JsBarcode
中定义一些全局jsBarcode.all.min.js
,这就是您console.log
转储它的原因。
jsBarcode: {
deps: ['jquery'],
exports: 'JsBarcode'
}