1
基本的なMeteorアプリケーションでIronRouterとMeteor-SSRを使用してサーバーサイドのレンダリングを試みています。私は、ブラウザで/home
をロードすると、私は次のエラーを取得する:Meteor SSR「エラー:未定義をレンダリングできません」
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のドキュメントでは、「以前は、このパッケージは、あなたのアプリケーションが起動したときに、すべてのクライアント側のテンプレートをロードしますが、今は流星ではできません。この動作を実装する方法はありますか? –