使用Browserify和jQuery插件

Che*_*noy 10 javascript jquery node.js browserify browserify-shim

一些简短的背景:我正在使用browserify和browserify-shim(和gulp来构建)来创建一个Web应用程序.在这个问题之前,我正在require从npm开始jquery,所以我没有任何问题.一旦我开始进行一些优化,我就意识到包含jQuery的程度有多大.所以现在我从带有脚本标签的CDN抓取jQuery并将其放在bundle.js文件之前.但是我在将jQuery声明为全局并且在browserify和browserify-shim中正确填充我的jQuery插件时遇到了问题.当我运行gulp进行构建时,我不断收到同样的错误:

[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"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

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

Che*_*noy 6

事实证明,browserify-shim如果只依赖于jQuery ,则不需要声明每个jQuery插件.我刚刚删除了inview条目,一切正常.