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
Meteor 中间件&u stack.js:31未捕获错误:名称为';路线';已经存在。铁流星_Meteor_Iron Router - Fatal编程技术网

Meteor 中间件&u stack.js:31未捕获错误:名称为';路线';已经存在。铁流星

Meteor 中间件&u stack.js:31未捕获错误:名称为';路线';已经存在。铁流星,meteor,iron-router,Meteor,Iron Router,我的代码一直工作正常,直到昨晚,突然我得到了这个错误,路由根本不工作 middleware_stack.js:31Uncaught Error: Handler with name 'route' already exists. 对于这样的简单路线: Router.route('/admin/dashboard', { template:"adminDashboard" }); Router.route('/admin/create/table', { template:"crea

我的代码一直工作正常,直到昨晚,突然我得到了这个错误,路由根本不工作

middleware_stack.js:31Uncaught Error: Handler with name 'route' already exists.
对于这样的简单路线:

Router.route('/admin/dashboard', {
   template:"adminDashboard"
});

Router.route('/admin/create/table', {
  template:"create_table"
});
我无法找出错误,我已经检查了所有路线。还有其他人遇到过此错误吗?

首先,查看并查看何时抛出此错误。所以,事实上我并没有面对那个错误,但我已经读到了。进一步查看和。我看到您正在尝试创建路由的子目录
/admin
。通常,我使用
this.render()
函数来实现这一点。关于布局,我使用了
this.layout()
,因此我认为如果您使用这些函数并删除
模板:“adminDashboard”
。它会工作。

编辑:这在iron:middleware stack 1.1.0中得到了修复


我也有同样的问题。奇怪的是,我在Chrome51上有这个问题,但在Chrome46上没有。我想这与javascript引擎中的更新有关,如果我弄清楚具体内容,我会在这里发布

同时,我使用的解决方法是显式地向路由添加名称。它们是什么并不重要,只需要声明它们,否则iron router会认为路由的名称是“路由”。因此,您的代码将变成:

Router.route('/admin/dashboard', {
   name: "Boaty_McBoatface",
   template:"adminDashboard"
});

Router.route('/admin/create/table', {
   name: "Guacamole",
   template:"create_table"
});
这是一个很好的例子。谷歌Chrome和微软Edge(编辑:现在也是Firefox)的最新版本出现了这个问题

它已经被最近的iron路由器更新修复,应该由meteor update iron:middleware stack修复


编辑:如果重新启动服务器时
中间件堆栈
包回滚,请检查@bigsan的注释

我也有同样的问题。奇怪的是,我在Chrome51上有这个问题,但在Chrome46上没有。投票太快了,我的路线有名字,但无论如何我都有这个问题。下面发布了另一个答案,适用于那些它也不起作用的人。Chrome 51(截至2016年5月底稳定)是第一个受此影响的非金丝雀版本。因为
iron:middleware stack
没有明确列在我的
.meteor/packages
文件中,它将在meteor服务器重新启动时回滚到旧版本。我必须运行meteor add iron:middleware-stack@1.1.0修复此问题。@bigsan出于好奇,您使用哪一版本的Meteor?如果我能找出你为什么会有这个问题,我会编辑答案。@Julien版本是1.1.0.3完美!Firefox似乎也在追随这套套件。这也为最新的Firefox以及Chrome和Edge修复了它!