ルート (つまり ) から静的ファイルを参照する場合src='/some/path/to/file.js'
、URL は重要ではありません。
静的ルーティングを使用した Web サイトの例
ディレクトリ構造
/public
/css/style.css
/js/site.js
/vendor/thoughtbrain/js/awesome-town.js
/views/view.html
/app.js
view.html
<!DOCTYPE html>
<html>
<head>
<!-- These files are served statically from the '/public' directory... -->
<link href="/css/style.css" rel="stylesheet" >
<script src="/js/site.js"></script>
<!-- ... while this is "mounted" in virtual '/public' -->
<script src="/public/js/awesome-town.js"></script>
</head>
<body><p>Express</p></body>
</html>
app.js
var express = require('express'),
http = require('http'),
path = require('path'),
app = express();
// Remember: The order of the middleware matters!
// Everything in public will be accessible from '/'
app.use(express.static(path.join(__dirname, 'public')));
// Everything in 'vendor/thoughtbrain' will be "mounted" in '/public'
app.use('/public', express.static(path.join(__dirname, 'vendor/thoughtbrain')));
app.use(express.static(path.join(__dirname, 'views')));
app.all('*', function(req, res){
res.sendfile('views/view.html')
});
http.createServer(app).listen(3000);
このアプリケーションを実行すると、
http://localhost:3000
と
http://localhost:3000/foo/bar/baz/quux
どちらもview.htmlを提供し、すべての参照アセットが解決されます。
Express Framework には、ここに静的ミドルウェアの使用に関するセクションがあります。