0

これが私の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"として参照します

4

1 に答える 1

1

ビューを次のように設定する必要があります。

app.set('views', __dirname + '/');

JSファイルとCSSファイルをパブリックディレクトリの/jsと/cssに配置し、次のように参照できます(これは慣例です)。

<script src="/js/jquery.js"></script>

これで問題が解決するはずです。幸運を

于 2013-03-20T01:43:28.423 に答える