一些简短的背景:我正在使用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)
让我知道我还可以包含哪些内容来帮助诊断错误.
我正在编写一个Node JS应用程序,我需要jQuery UI和jQuery Mobile.我正在使用Browserify将模块打包到一个js文件中.
我有以下代码在我的项目中包含jQuery和jQuery UI.
var jQuery = require('jquery');
require('jquery-ui-browserify');
Run Code Online (Sandbox Code Playgroud)
它有效.当我尝试使用require添加jQuery mobile时会出现问题:
require('./lib/jquery.mobile-1.4.0.min.js');
Run Code Online (Sandbox Code Playgroud)
或者使用脚本标记
<script src="/lib/jquery.mobile-1.4.0.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
我犯了同样的错误:
"未捕获的TypeError:无法设置未定义的属性'mobile'".
我明白我得到这个错误,因为jQuery mobile在Window中查找jQuery对象并且找不到它,但是如何修复它?npm上没有jQuery移动模块.