Gia*_*cia 6 javascript jquery node.js jquery-mobile browserify
我正在编写一个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移动模块.
这是一个使用browserify-shim和 jquery + jquery mobile 的简单可运行演示: https: //gist.github.com/mchelen/a8c5649da6bb50816f7e
最重要的几行是:
package.json
"browserify-shim": {
"jquery": "$",
"jquery-mobile" : { "exports": "$.mobile", "depends": [ "jquery:$" ] }
},
Run Code Online (Sandbox Code Playgroud)
entry.js
var $ = require('jquery');
$.mobile = require('jquery-mobile');
Run Code Online (Sandbox Code Playgroud)