1

我正在尝试构建一个使用 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

有谁知道如何解决这个问题?

4

1 回答 1

2

Phonegap 和 require.js 并不是天作之合,它也给我的项目带来了很多问题。

为了克服这个问题,您可以使用requireJS 优化器来优化您的 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-configuration 文件(其中包含您正在使用的所有模块的路径列表)来简化此构建配置文件中的所有路径,而不是列出此构建配置文件中的所有路径。只需在 build-config.js 文件中使用下一个选项:

mainConfigFile: '..js/main.js',

要禁用缩小,您可以将下一个选项传递给配置,使其更容易调试:

optimze: "none"

您可以在此处找到包含所有选项的示例构建配置文件:example.build.js

最后,要优化所有内容,请将构建文件的文件名传递给优化器:

node r.js -o build-config.js

将新优化的内容包含main-built.js在您的 head-section 中:

<script src="js/lib/require/require.js" type="text/javascript"></script>
<script src="js-built/main-built.js" type="text/javascript"></script>

你就完成了。

于 2013-09-02T17:04:19.907 回答