1
我想在基本的Meteor應用程序中使用IronRouter和Meteor-SSR進行服務器端渲染。當我在瀏覽器中我得到以下錯誤加載/home
:流星SSR「錯誤:無法呈現undefined」
Error: Can't render undefined
at checkRenderContent (packages/blaze.js:702:11)
at contentAsView (packages/blaze.js:724:3)
at Blaze.toHTML (packages/blaze.js:851:40)
at Object.SSR.render (packages/meteorhacks_ssr.js:208:10)
at [object Object].Router.route.where (main.js:9:20)
at boundNext (packages/iron_middleware-stack.js:408:31)
at runWithEnvironment (packages/meteor.js:1176:24)
at packages/meteor.js:1189:14
at [object Object].urlencodedParser (/Users/roger/.meteor/packages/iron_router/.1.1.1.1q7cd8x++os+web.browser+web.cordova/npm/node_modules1/body-parser/lib/types/urlencoded.js:84:40)
at packages/iron_router.js:886:36
下面是應用程序的代碼:
// main.js
if (Meteor.isServer) {
Router.route('/home', function() {
let html = SSR.render('home');
this.response.end(html);
}, {where: 'server'});
}
if (Meteor.isClient) {
Router.route('/home', function() {
this.render("home")
});
}
這裏的main.html
:
<head>
<title>SSR Test</title>
</head>
<body>
</body>
<template name="home">
Home
</template>
感謝編譯模板。有沒有辦法輕鬆加載已經在main.html中定義的模板? meteor-ssr的文檔說:「以前,這個軟件包會在您的應用程序啓動時加載所有客戶端模板,但現在流星不允許我們這樣做,所以這種行爲已被刪除。」有什麼方法可以實現這種行爲? –