ノードで Nunjucks を使用する
次の問題に対する適切な解決策を見つけようとしています。次のようなディレクトリツリーソーダを使用します。
app_dir
--app.js
--public
----stylesheets
------mystyles.css
--views
----page.html
----templates
------page_template.html
- パブリック ディレクトリ内に CSS などの静的ファイルを配置する
app.use(express.static(path.join(__dirname, 'public')));
Nunjucks のルート ディレクトリをビューとして構成する
nunjucks.configure('views', { autoescape: true, express : app, watch: true });
page_template.html 内から css ファイルを参照しているとき、nunjucks (私が思うに) は自動的にルートに基づいて相対パスを作成し、静的な動作をオーバーライドします。
たとえば、/stylesheets/mystyles.css
page_template.html でパスを使用し、パスを使用してそれを拡張するファイルを呼び出すと
/:publication/:page
、レンダリングされた html は 次のようになります。/:publication/:page/stylesheets/mystyle.css
ルートに基づいてCSSやその他のリソースへの相対パスを作成する簡単なハックをいつでも書くことができますが、それは特に優雅な解決策のようには感じません:(どんな助けも大歓迎です.