Meteorの新しいファイル構造に移行した後、1日中エラーが発生しました。鉄のルーターが故障しているようだ。Iron Router "layout"または "layout"という名前のテンプレートが見つかりませんでした
私はlayout.htmlとjsファイルを持っています。また、適切な小文字の名前。
フルエラー:
Couldn't find a template named "layout" or "layout". Are you sure you defined it?
私のファイルは、次のとおりです。/ main.htmlをし、main.js
クライアント - >
<head></head>
がここで定義されてimport/ui/layouts - > layout.htmlとlayout.jsを含むここでは
<body></body>
が定義されています。- インポート/起動/両方 - > router.js
ルータのファイル含まれています。私はtypeof(Template.layout)
をCONSOLE.LOGとき
Router.configure({
layoutTemplate : 'layout',
loadingTemplate : 'loading',
notFoundTemplate : 'notFound',
waitOn: function() {
return [
Meteor.subscribe('allUsers'),
Meteor.subscribe('otherUser')
];
}
});
Router.route('/',{
name: 'home',
onBeforeAction: function() {
if(Meteor.userId()){
Router.go('/new');
} else {
this.next();
}
}
});
を、それがundefinedを返します。
は、だから私は... main.html
とともに、クライアントのフォルダまでの両方layout.html
とlayout.js
移動したときにエラーが姿を消したが、まだ空白のページを示したが、「設定」という名前のページが見つからないというエラー(しかしsettings.htmlを与えましたとしかしながら、上記CONSOLE.LOG両方import/ui/pages
に存在しているのjsファイルは、オブジェクトを返さストレンジは
PS:。。。サイドノートで:
私は、サーバーのフォルダにmain.jsファイル内import '/imports/startup/client';
を試してみました上記のhtmlをうまく機能させるには'Error: Cannot find module '/imports/startup/client'
があります。上記の問題を解決するために最初にコメントしてください。
クライアントmain.jsにimport '../imports/ui/layouts/layout.html';
またはimport '../imports/ui/pages';
も追加しました。しかし、エラーはCannot find module '../imports/ui/pages'
と表示され、設定はまだシステムに表示されません。
誰もがこれにいくつかの光を当てることができますか?ありがとう!
上記の例では、Meteorの輸入にはスタートアップ、ui ...と記載されていますが、uiには個別のページがあります。それは純粋にjsとjsxのためですか?クライアントによって...それはクライアントのメインフォルダに制限されていますか、または/ startup/clientもインポートされていますか? – Thinkerer
反応すると、実際にはjs/jsxとcssファイルのみがあり、どちらもインポートできます。 htmlファイルは実際には使用されません。 '/ client'配下のファイルやそのサブディレクトリは自動的に縮小され、バンドルされてクライアントに送られますが、' imports'の下にあるものはインポートされない限りクライアントに送られません。通常は '/ client/main。js'は最初のインポートを実行し、インポートしたファイルは他のファイルをインポートします。 –