我正在尝试在Browserify项目中使用Bloodhound和Typeahead。我正在使用browserify-shim。
的package.json
{
...
"browserify": {
"transform": ["browserify-shim"]
},
"browserify-shim": "./shim.js",
}
shim.js
module.exports = {
...
'typeahead.js/dist/bloodhound': {
exports: 'Bloodhound',
depends: {jquery: 'jQuery'}
}
};
test.js
...
var Bloodhound = require('typeahead.js/dist/bloodhound');
module.exports = function() {
console.log(Bloodhound);
}
输出一个空对象({})。
我已经按照relevant question中的所有内容,使用命令行中的vanilla Browserify,但仍然没有骰子。
我能够通过添加
来实现它module.exports = Bloodhound;
到bloodhound.js文件,但这远非理想。浏览器不应该添加出口吗?我没有在生成的bundle.js中看到Bloodhound的module.exports。
答案 0 :(得分:1)
显然,这将在v0.11中修复,因为typeahead.js正在转移到UMD
https://github.com/twitter/typeahead.js/issues/743#issuecomment-52412193