これはかなり基本的な質問のように思えますが、答えを見つけることができませんでした。
テンプレートエンジンとしてexpressを使用してejs
おり、次のdir構造を使用しています。
|-static
|---css
|---img
|---js
|-views
フォルダに静的ルーティングを定義していstatic
ます:
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.use(partials());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/static'));
app.use(app.router);
app.enable("jsonp callback");
});
Views
フォルダにすべてのファイルを保存しejs
ます。1つとlayout.ejs
残りは特定のページの実際のコンテンツを含むファイルです。
次のルートを定義しました。
app.get('/', function(req,res){
locals.date = new Date().toLocaleDateString();
res.render('home.ejs', locals);
});
app.get('/about', function(req,res){
locals.date = new Date().toLocaleDateString();
res.render('about.ejs', locals);
});
app.get('/contact', function(req,res){
locals.date = new Date().toLocaleDateString();
res.render('contact.ejs', locals);
});
これはlayout.ejs
、ページと一緒にそれを取得してレンダリングします。
もちろん、新しいページを追加するたびに新しいルートを追加するのではなく、自動的に追加する必要があります。
だから私はそれが別のものを定義することと関係があるはずだと推測していapp.use(express.static(__dirname + '/views'));
ますか?また、URLを表示したくない/about.ejs
が、表示したい/about
誰かが私を正しい方向に向けてくれませんか?
ありがとう !