2

harpJS で、次のようなフォルダー構造があるとします。

mysite/
  - _layout.ejs
  - index.ejs
  + styles/
      - main.css
  + folder-level-1/
      - page-level-1.ejs
      + folder-level-2/
          - page-level-2.ejs

私は_layout.ejsCSSパス参照を持っています:

 <!-- In _layout.ejs -->
 <link href="styles/main.css" rel="stylesheet">

では問題なく動作しますが、相対パスではないため、とでindex.ejsパスが途切れます。page-level-1.ejspage-level-2.ejs

私の現在の解決策(私はそれほど満足していません)は、の上部にある小さなスクリプトです_layout.ejs

<!-- In _layout.ejs -->
<% var pathPrefix = "";
   for (var i = 0; i < current.path.length; i++) {
      pathPrefix += "../";
   };
%>

次に、CSS パスを次のように記述できます。

 <!-- In _layout.ejs -->
 <link href="<%- pathPrefix %>styles/main.css" rel="stylesheet">

このソリューションは少しハッキーだと思います。より良い方法はありますか?

4

1 に答える 1