如何在混合应用程序中调试onDeviceReady - cordova

时间:2016-06-23 06:58:56

标签: javascript android ios cordova

请我有我的react app混合应用程序,我正在添加cordova框架。我添加了cordova项目,在模拟器上构建,发布,模拟我的应用程序都成功。 cordova项目在我的app中添加了一个index.js,我在下面的index.html中引用了它。

</head>

<body>

<div id="root" class="root app">
    <div class="mobile-page">
        <img class="spinner" src="img/symbol-logo.svg" />
    </div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="index.js"></script>
<script src="boot.js"></script>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch,Promise,Array.from,Array.prototype.find,Array.prototype.includes,String.prototype.startsWith,String.prototype.includes,Math.sign,Intl.~locale.en,Intl.~locale.id,Intl.~locale.ru,Intl.~locale.fr&unknown=polyfill"></script>
<script async src="app.js"></script>

上面的app.js是使用webpack构建的,我的应用程序是使用react js开发的。我的index.js高于

var app = {
    initialize: function() {
        this.bindEvents();
    },
    bindEvents: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
        document.addEventListener('resume', this.onDeviceResume, false);
    },

'receivedEvent'
    onDeviceReady: function() {
        app.receivedEvent('deviceready');
        codePush.sync();
    },

    onDeviceResume: function () {
        app.receivedEvent('resume');
        codePush.sync();
    },

    receivedEvent: function(id) {
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');

        console.log('Received Event: ' + id);
    },
};

app.initialize();

我的问题是,我不确定我的index.js事件是否被调用。我想测试/调试是否正在调用上面的onDeviceReady事件。我希望能够打印一个简单的控制台消息和调试。请问我该怎么做?

2 个答案:

答案 0 :(得分:2)

我通常使用cordova浏览器平台。

cordova platform add browser

然后在浏览器中构建您的应用

cordova platform build browser

cordova emulate browser

您的cordova将在本地主持人午餐,您可以在那里看到您的控制台消息。如果你也按照上面的用户的说明设置断点。这就是我的做法。希望它有所帮助。

答案 1 :(得分:0)

您也可以尝试使用phonegap桌面应用。

它非常简单,只需在其中包含您的项目文件,然后输入它将您带到移动设备上的开发者应用程序的本地URL。

Phonegap桌面应用程序有一个控制台,可以帮助您查看日志,因此您可以简单地调试您的应用程序。