Javascript 主干不';不回答

Javascript 主干不';不回答,javascript,backbone.js,Javascript,Backbone.js,我做了一个新的主干项目,在初始化函数中编写了一个简单的console.log,但它没有出现在我的控制台上。我不明白原因。在这个网站上有一个项目:这是你在main.js中的代码: // We launch the App require(['backbone', 'utils'], function(Backbone, Utils) { require(['preloader', 'router'], function(PreLoader, AppRouter) { docume

我做了一个新的主干项目,在初始化函数中编写了一个简单的console.log,但它没有出现在我的控制台上。我不明白原因。在这个网站上有一个项目:

这是你在
main.js中的代码

// We launch the App
require(['backbone', 'utils'], function(Backbone, Utils) {
    require(['preloader', 'router'], function(PreLoader, AppRouter) {

    document.addEventListener("deviceready", run, false);

    function run() {
       console.log("asas");
       // ... and so on ...
您的
main.js
文件在几个
require()
块中定义了一个函数
run()。
run()
函数似乎不是必需的;尝试将其更改为:

// We launch the App
require(['backbone', 'utils'], function(Backbone, Utils) {
    require(['preloader', 'router'], function(PreLoader, AppRouter) {

    document.addEventListener("deviceready", run, false);

   console.log("asas");
   // ... and so on ...

您的日志语句应该显示得很好。

您的示例实际上有点大。试着制作一个SSCCE?(请参阅)通过简化示例,您可以更好地了解代码的哪些部分可能导致问题。尝试将您的示例简化为一条路线和/或一个视图,希望您(和我们!)能够更轻松地发现任何遗留问题。我发现DeviceRady事件没有触发!addEventListener不应该调用run函数吗?只有在加载所有RequireJS模块后触发了
deviceready
时才应如此。我怀疑事件实际上可能在RequireJS回调运行之前触发。您是否将Cordova与RequireJS一起使用?如果是这样,这可能是一个更好的初始化结构: