我正在尝试构建一个使用Phonegap构建的应用。当我尝试在我的Android虚拟设备中模拟应用时,由于以下错误,该应用无法加载...
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror at file:///android_asset/www/js/lib/require/require-2.1.1.min.js:31
同一个项目完全适合iOS ...
控制台关闭并显示以下消息:
File is Out of sync
有谁知道如何解决这个问题?
答案 0 :(得分:2)
Phonegap和require.js在天堂并不是真正的匹配,它也给我的项目带来了很多问题。
要解决此问题,您可以使用requireJS optimizer优化您的javascript文件。通过这种方式,所有的javascript都被编译(并且可选地缩小)到一个文件中。
要开始使用,请安装它(如果您正在使用节点):npm install -g requirejs
您可以通过build-config.js文件告诉优化器要优化哪些文件,如下所示:
({
baseUrl: ".",
dir: "../js-built",
paths: {
jquery: "some/other/jquery";
// all the other paths to your modules
},
out: "main-built.js"
})
您可以通过引用main.js配置文件(其中包含您正在使用的所有模块的路径列表)来更轻松地列出此build-config文件中的所有路径,而不是列出此build-config文件中的所有路径。只需使用build-config.js文件中的下一个选项:
mainConfigFile: '..js/main.js',
要禁用缩小,可以将下一个选项传递给配置,使调试更容易:
optimze: "none"
您可以在此处找到包含所有选项的example-build-config-file:example.build.js
最后,要优化所有内容,请将构建文件的文件名传递给优化程序:
node r.js -o build-config.js
在您的头部包含新近优化的main-built.js
:
<script src="js/lib/require/require.js" type="text/javascript"></script>
<script src="js-built/main-built.js" type="text/javascript"></script>
你已经完成了。