Я пытаюсь использовать Bloodhound и Typeahead в своем проекте Browserify. Я использую 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);
}
Что выводит пустой объект ({}).
Я следил за всем в этом актуальный вопрос, используя vanilla Browserify из командной строки, но все еще без кубиков.
Я смог заставить его работать, добавив
module.exports = Bloodhound;
в файл bloodhound.js, но это далеко не идеально. Разве браузер не должен добавлять экспорт? Я не видел module.exports для Bloodhound в сгенерированном bundle.js.