2

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'));

しかし、それが私の問題を解決する正しい方法であるかどうかはわかりません。

4

1 に答える 1