2

我正在尝试在我的 Browserify 项目中使用 Bloodhound 和 Typeahead。我正在使用 browserify-shim。

包.json

{
     ...
    "browserify": {
        "transform": ["browserify-shim"]
    },
    "browserify-shim": "./shim.js",
}

垫片.js

module.exports = {
    ...
    'typeahead.js/dist/bloodhound': {
        exports: 'Bloodhound',
        depends: {jquery: 'jQuery'}
    }
};

测试.js

...
var Bloodhound = require('typeahead.js/dist/bloodhound');

module.exports = function() {
    console.log(Bloodhound);
}

它输出一个空对象 ({})。

我已经关注了这个相关问题中的所有内容,使用命令行中的 vanilla Browserify,但仍然没有骰子。


我能够通过添加使其工作

module.exports = Bloodhound;

到 Bloodhound.js 文件,但这远非理想。browserify-shim 不应该添加导出吗?我在生成的 bundle.js 中没有看到 Bloodhound 的 module.exports。

4

1 回答 1

1

显然这将在 v0.11 中修复,因为 typeahead.js 正在移动到 UMD

https://github.com/twitter/typeahead.js/issues/743#issuecomment-52412193

于 2014-08-24T02:43:00.987 回答