2013-08-06 40 views
1

我試圖構建一個我用Phonegap構建的應用程序。當我試圖仿效該應用程序在我的Android虛擬設備,應用程序不加載,因爲下面的錯誤的...Phonegap中的require-2.1.1.min.js的腳本錯誤

enter image description here

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

它可能是一個允許的域的問題,你有設置如:? –

+0

@DawsonLoudon,在JSON文件中,有一個標題「Access-Control-Allow-Origin:*」,但僅此而已...... – Michiel

+0

此處的任何解決方案?我有同樣的錯誤,但希望不必去優化路線... –

回答

2

Phonegap和require.js並不是天作之合,它也給我的項目帶來了很多問題。

爲了克服這個問題,你可以使用requireJS optimizer來優化你的javascript文件。通過這種方式,所有的javascript都被編譯(並可選擇縮小)成一個文件。

要開始,安裝它(如果你使用節點):npm install -g requirejs

你可以告訴哪些文件通過一個內置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文件中的所有路徑。只需使用一個選項在構建-config.js文件:

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

要禁用縮小文件,你可以下一個選項傳遞到配置,使得它更容易調試:

optimze: "none" 

你可以找到一個例子 - 構建 - 配置文件在這裏所有的選項:example.build.js

最後,爲了一切,進而優化,傳遞文件名,爲您構建文件的優化:

node r.js -o build-config.js 

包括新optimzed在你的腦袋節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> 

就大功告成了。