WebHU - Programozási kérdések és válaszok

Metoer.js: iron-router A Router.route() nem működik

Először használom a Meteor.js-t és az iron-routert, és eddig minden jól megy, kivéve az iron-routert. Ezt a kódot hívom a js fájl elején.

Router.route('/find_tutors', function () {
   this.render('content_find_tutors');
});

Nagyon egyszerű, semmi érdekes nincs itt, a probléma az, hogy egyszerűen nem működik. Ezt a hibaüzenetet kapom, ha a http://foobar.bar/find_tutors URL-re navigálok

Exception in defer callback: Error: Oh no! No route found for path: "/find_tutors"
at Utils.extend.onRouteNotFound (http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1714:13)
at IronRouter.dispatch (http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1201:19)
at http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1666:12
at Tracker.Computation._compute (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:288:36)
at new Tracker.Computation (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:206:10)
at Object.Tracker.autorun (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:476:11)
at Utils.extend.start (http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1663:10)
at http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1458:16
at _.extend.withValue (http://localhost:3000/packages/meteor.js?012a26290d9cb731a3b52b396e571c8159d11236:891:17)
at http://localhost:3000/packages/meteor.js?012a26290d9cb731a3b52b396e571c8159d11236:430:45 

Úgy érzem, valami nyilvánvaló elromlott, de őszintén szólva ez a kód annyira egyszerű, hogy nem értem, miért nem tudom működésre bírni. Tévedek, ha azt mondom, hogy csak akkor kell megjelenítenie a sablont, ha eléri azt az útvonalat? Bár szerintem az sem mindegy, hogy mi van a route() funkcióblokkban, mert az iron router még csak nem is jut el oda.

Itt van a legkisebb kódkészlet, amelyet megadhatok a hiba újbóli létrehozásához (bár a hiba a kód méretétől függetlenül megtörténik.)

//test.js
Router.route('/find_tutors', function () {
  this.render('page');
});
if (Meteor.isClient) {
}

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
  });
}

<!--- test.html --->
<head>
  <title>Test</title>
</head>

<body>
</body>

<template name="page">
  <h1>Welp.</h1>
</template>

Ez a példa a cvoege.meteor.com címen található

Idióta vagyok, vagy valami mély dolog történik?


Válaszok:


1

Az iron:router megváltoztatta néhány API-ját az 1.0.0-s verzióban (jelenleg még az 1.0.0-pre4-ben).

És úgy tűnik, hogy az iron:routert az 1.0.0-s módon használod, de nem a jelenlegit (0.9.4).

Az iron:routert 1.0.0-pre4-re frissítheti

meteor update iron:[email protected]

Frissítés

Úgy tűnik, rosszul használom a frissítési funkciót. Kérjük, távolítsa el, majd telepítse újra.

meteor remove iron:router
meteor add iron:[email protected]
17.10.2014
  • Köszönöm! Vissza kellett váltanom 1.0.0-pre4-re és most már minden működik :). Viszont az a sor, amit adtál, nem működik, nem úgy tűnik, hogy lehet meteorfrissítést használni egy adott verzióhoz, a meteor remove iron:router majd a meteor add iron:router@=1.0.0-pre4 hívásával működött. Győződjön meg róla, hogy az egyenlőségjel szerepel. 18.10.2014
  • Egyébként ez nem visszakapcsolás. Az 1.0.0-pre4 a legújabb verzió (jelen pillanatban). Ön az élvonalban van! 18.10.2014
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..