Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 流星:“;ReferenceError:myAdminHookFunction未定义;_Javascript_Meteor_Iron Router_Router_Referenceerror - Fatal编程技术网

Javascript 流星:“;ReferenceError:myAdminHookFunction未定义;

Javascript 流星:“;ReferenceError:myAdminHookFunction未定义;,javascript,meteor,iron-router,router,referenceerror,Javascript,Meteor,Iron Router,Router,Referenceerror,接下来是马修·普拉茨 在第4章第节中,当我实现代码时,我得到以下错误: Your app is crashing. Here's the latest log. /Users/TXC/.meteor/packages/meteor-tool/.1.1.3.1wysac9++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245

接下来是马修·普拉茨

在第4章第节中,当我实现代码时,我得到以下错误:

Your app is crashing. Here's the latest log.


/Users/TXC/.meteor/packages/meteor-tool/.1.1.3.1wysac9++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
                        throw(ex);
                              ^
ReferenceError: myAdminHookFunction is not defined
    at app/both/router.js:31:23
    at app/both/router.js:33:3
    at /Users/TXC/code/foosboom-meteor/.meteor/local/build/programs/server/boot.js:222:10
    at Array.forEach (native)
    at Function._.each._.forEach (/Users/TXC/.meteor/packages/meteor-tool/.1.1.3.1wysac9++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
    at /Users/TXC/code/foosboom-meteor/.meteor/local/build/programs/server/boot.js:117:5
Exited with code: 8
Your application is crashing. Waiting for file change.
UPDATE:在我按照清单4.26:both/router.js中的建议更新代码之前,一切正常

更新2:以下是router.js文件的内容:

Router.configure({
  layoutTemplate: 'layout',
  loadingTemplate: 'loading'
});

Router.route('/', {
  name: 'games',
  waitOn: function(){
    return [Meteor.subscribe("games"), Meteor.subscribe("teams")];
  }
});

Router.route('/teams', {
  waitOn: function(){
    return Meteor.subscribe("teams");
  }
});

var requireLogin = function(){
  if(!Meteor.user()){
    if(Meteor.loggingIn()){
      this.render("loading");
    } else {
      this.render("accessDenied");
    }
  } else {
    this.next();
  }
}

Router.onBeforeAction(requireLogin);

我对代码进行了三次检查,没有发现哪里出了问题:有什么想法吗?

该教程中似乎有输入错误:

Router.onBeforeAction(myAdminHookFunction, {
 only: ['admin']
 // or except: ['routeOne', 'routeTwo']
});
应该是这样的:

Router.onBeforeAction(requireLogin, {
 only: ['admin']
 // or except: ['routeOne', 'routeTwo']
});

因此,myAdminHookFunction应该替换为requireLogin

你能发布你的router.js文件吗?看来问题已经解决了,就这么办了。但是@JordanSpeizer的答案解决了这个问题。谢谢你看。