NodeJS で Express を学習しようとしていますが、プレーンな HTML でビューをレンダリングしたいと考えています。Express API ドキュメントといくつかの Stack の質問、特にこの質問の Andrew Homeyer による回答に基づいて Web サーバーをハッキングしました。
jade にプレーンな HTML ページを含めることができます。
ビュー/index.jadeで
views/plain.html に plain.html を含めます
...そして app.js はまだ jade をレンダリングすることができます:
res.render(インデックス)
私のディレクトリ構造は次のようになります
Project
*web.js
Public
img
js
lib
gallerific
*jquery.opacityrollover.js
*jquery.gallerific.js
angular
theme
views
partials
*index.html
*index.jade
私のサーバーは次のようになります。
var express = require('express'),
jade = require('jade');
var app = module.exports = express();
app.configure(function(){
app.set('views', __dirname + '/public/views');
app.use("/public/lib", express.static(__dirname + "/public/lib"));
app.use(express.static(__dirname + '/public'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.set('view engine', 'jade')
app.use(express.bodyParser());
});
app.get('/', function(req, res) {
res.render('index');
});
app.get('/partials/:name', function(req, res){
var name = req.params.name;
res.render('/public/partials/' + name);
});
app.get('/public/data/:name', function(req, res){
var name = req.params.name;
res.json('/public/data/' + name)
});
app.listen(3000, function(){
console.log("Express app listening on port %d in %s mode", this.address().port, app.settings.env);
});
私が見ているのは、特定のファイルが、他のすべてが正常にロードされるディレクトリからのロードに失敗することです。たとえば、私のギャラリー ページは、jquery.opacityrollover.js をロードしているのに、lib/gallerific ディレクトリから jquery.gallerific.js javascript ファイルをロードできません。Chrome Developer Tools をいじってみたところ、次のように表示されました
このサイトはAngular Bootstrap Webサーバーで動作していたので、クライアント側コードのjavascriptエラーではないようです。この問題を引き起こす可能性があることを誰かが知っていますか?
ソースはhttps://github.com/jamesamuir/express-simple-html.gitで入手できます。