これが私のhtmlファイルと同じディレクトリにある私のjsファイルです。それをレンダリングしたいと思います。
どれくらい難しいですか?何が欠けているのかわかりません。
var express = require('express');
var app = express();
app.engine('html',require('ejs').renderFile);
app.set('views', __dirname + '/'); //Edit #1
app.use(express.directory('public'));
app.use(express.static('public'));
app.get('/', function(req, res){
//res.send('hello world');
res.render('gapijs.html');
});
app.listen(8090);
expressjsのドキュメントを読んだ後、express.directoryとexpress.staticを使用しました(正しいかどうかはわかりません)。私はすべての部門をインストールし、そのディレクトリにしっかりとリンクしています。(npmリンクを使用)
編集: @Stanのコメントに記載されているようにビューを設定する必要があります。その後、バニラノードでres.writeと同じ効果が得られました。
これが私が直面している別の問題です。gapijs.htmlに必要なjsおよびcssファイルをデプロイする方法と、Webページをロードするたびにダウンロードしているjsを処理するために何かする必要がありますか?
編集2:これが私の最終バージョンのコードです(これは私が望むように機能します)。
var express = require('express');
var app = express();
app.engine('html',require('ejs').renderFile);
app.set('views', __dirname + '/public');
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
//res.send('hello world');
res.render('gapijs.html');
});
app.listen(8090);
gapijs.htmlは/publicにあり、jsファイルはpublic / jsにあり、cssはpublic / cssにあります。これは、expressコマンドを使用してプロジェクトを生成する場合のjsファイルとcssファイルの配置方法です。
htmlからこれらのファイルをsrc="/ js/blabla.js"として参照します