我在写一个Node JS应用程序,我需要jQuery UI和jQuery Mobile。我正在使用Browserify将模块打包到单个js文件中。在包含Browserify的Node JS项目中包含JQuery Mobile
我有以下代码在我的项目中包含jQuery和jQuery UI。
var jQuery = require('jquery');
require('jquery-ui-browserify');
它的工作原理。出现问题时,我尝试添加jQuery Mobile的,无论是与一个要求:
require('./lib/jquery.mobile-1.4.0.min.js');
或通过脚本标签
<script src="/lib/jquery.mobile-1.4.0.min.js" type="text/javascript"></script>
我得到了同样的错误:
"Uncaught TypeError: Cannot set property 'mobile' of undefined".
我明白我得到这个错误是因为jQuery手机在Window中查找jQuery对象并且找不到它,但是如何解决它? npm上没有jQuery移动模块。
我试过这个,但它不适用于我与jQuery手机1.4.5。有一个'this'的引用返回'Object {}'。不知道为什么它没有引用'window'。 – Glitches
我尝试了几个小时来完成这项工作。我不明白在packadge.json“浏览器”中的那一部分,它硬编码jQuery和jquery-mobile的路径。这不是应该由browserify“知道”吗?为什么require('jquery')的工作原理和要求('jquery-mobile')通过我找到“找不到模块'jquery-mobile'? –
好吧我终于明白了这一点,确实你不需要指定一个jquery的路径,但你需要为jquery-mobile指定一个路径,我为SO编写了一个粘贴:http://codepen.io/Reblutus/pen/dPwVKz(未测试),我也输入了一个答案...... –