NodeJSでブログを開発しようとしています。素敵なHTML ブログ テーマを見つけ、すべてのファイルをビューフォルダーに配置しました。これはapp.jsの内容です
var express = require('express'),
app = express(),
cons = require('consolidate');
app.engine('html', cons.swig);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
//app.use(express.static(__dirname + '/views'));
app.use(express.bodyParser());
// I'm using Express 3, not 4.
app.use(app.router);
app.get('/', function(req,res){
res.render('index', {menu_items:[{"link":"#","text":"TXT"},{"link":"#","text":"TXT"}]});
});
app.listen(3000);
このコードはindex.htmlをレンダリングし、 index.html のmenu_itemsもレンダリングしています。ただし、css や js などの静的ファイルはレンダリングされません。
それらをレンダリングするために、app.use(express.static(__dirname + '/views'));をコメントアウトしています。ライン。今回は静的ファイルをレンダリングしていますが、 index.html のmenu_items変数はレンダリングしていません。
このリポジトリ内のすべてのファイルを表示できます。何が欠けているのか教えてもらえますか?
** UPDATE 1 ** コメント行の代わりにこれらの行を追加しました
app.use('/css', express.static(__dirname + '/views/css'));
app.use('/img', express.static(__dirname + '/views/img'));
app.use('/js', express.static(__dirname + '/views/js'));
しかし、それが私の問題を解決する正しい方法であるかどうかはわかりません。