Meteor、Meteor Router、および Bootstrap を使用してラピッド プロトタイピング用の簡単なプロジェクトを作成しようとしています。
ディレクトリ構造は次のとおりです
meteor-prototypes/
|
|--- .meteor/
|--- prototypes/
| |
| |--- example/
| |
| |--- example.coffee
| |--- example.css
| |--- example-index.html
| |--- example-more.html
|
|--- prototypes.coffee
|--- index.html
|--- smart.json
|--- smart.lock
フォルダーは、 (example
たとえば) で到達可能な単一のプロトタイプを表しますhttp://localhost:3000/prototypes/example/
。理想的にはexample/
、新しい名前 (例: new-example) で複製し、http://localhost:3000/prototypes/new-example/
.
これに関する問題は、Meteor がデフォルトで、プロジェクト ディレクトリ全体で HTML ファイルを検索し、それらすべてをロードすることです。私がする必要があるのは、URL に基づいて (Meteor Router を介して) 表示しているプロトタイプを確認し、そのフォルダー内の .html ファイルのみをロードすることです (例: example/
)。
特定のサブディレクトリにある .html ファイルのみを読み込むように Meteor に指示する方法はありますか? またはこれを達成する別の方法はありますか?
好奇心旺盛な人のために、またはそれが役立つ場合のために、上記のディレクトリ構造に記載されている各ファイルに何が含まれているかを次に示します。
index.html
<head>
<title>desktime-prototypes</title>
</head>
<body>
{{ renderPage }}
</body>
<template name="home">
<h1>We have the following prototypes available:</h1>
<ul>
<li><a href="/example/">Example</a></li>
</ul>
</template>
プロトタイプ.コーヒー
if (Meteor.isClient)
Meteor.Router.add
'': 'home'
'/:prototype': (params) ->
return params
'/:prototype/:page': (params) ->
return params[1]
if (Meteor.isServer)
Meteor.startup ->
# code to run on server at startup
/prototypes/example.coffee
if Meteor.isClient
Template.example.greeting = ->
return "Welcome to prototypes."
Template.example.rendered = ->
# This function will fire when this specific template gets rendered,
# Great place to fire jQuery plugins, or anything else that needs
# to happen when the DOM is ready.
Template.example.events
'click input' : ->
# template data, if any, is available in 'this'
alert 'Button clicked!'
プロトタイプ/example/example-index.html
<template name="example">
<h1>Welcome to the example prototype!</h1>
{{> example-more }}
</template>