使用Browserify和jQuery插件

一些简要的背景:我使用的是browserify和browserify-shim(和gulp来构build)来创build一个web应用程序。 在这个问题之前,我require从npm的jQuery,所以我没有问题。 一旦我开始做一些优化,我意识到包括jQuery在内的捆绑是多么的庞大。 所以,现在我从CDN抓取jQuery,并将其放在bundle.js文件之前。 但我有问题宣布jQuery作为一个全球性的,适当shimming我的jQuery插件在browserify和browserify-shim。 当我运行gulpbuild立,我不断得到相同的错误:

[gulp] gulp-notify: [Compile Error] module "jquery" not found from "/Volumes/Chetan/Users/cshenoy/Projects/urbanstems-node/app/plugins/jquery.inview.js"

browserify-shim看起来并不像jQuery那样是全球化的。

作为参考,我使用了inview插件 。

这里是我的package.json和相关的部分

 "browser": { "inview": "./app/plugins/jquery.inview.js" }, "browserify-shim": { "jquery": "global:jQuery", "inview": { "depends": [ "jquery" ] } } 

让我知道我还可以包括哪些内容来帮助诊断错误。

原来你不需要在browserify-shim下面声明每个jQuery插件,只要它依赖于jQuery。 我刚刚删除了inview条目,一切工作正常。