2017-02-18 5 views
0

私は以下のコードを持っています。そのディレクトリにファイル名を表示し、hrefタグを追加したいと思います。以下のコードは動作しますが、私のnode.jsアプリケーションがlistenしているポート番号だけがまだそこにあります。どのように私はそれを削除することができます(私のHFSは実際に動作するのでしょうか?)。 URLを切り捨てるときのように、ドキュメントオブジェクトに何かがありますか?Node.js EJSテンプレート:hrefからポート番号を削除するにはどうすればよいですか?

<h1><%= title %></h1> 
<p>Welcome to 
    <%=t itle %> 
</p> 
<ul> 
    <% for(var i=0; i<fs.readdirSync('./Week4/').length; i++) {%> 
     <li> 
      <a href="<%= fs.readdirSync('./Week4/')[i] %>"> 
       <%=f s.readdirSync('./Week4/')[i] %> 
      </a> 
     </li> 
     <% } %> 
</ul> 
+0

申し訳ありませんが、私はあなたの質問を理解していません。あなたは、現在の出力の例と期待されるものの例を提供してください。 – Telokis

+0

現在の出力は、リスト項目の1つ、domain:8080/week4/listitemをクリックすると表示されます。私は '8080'を削除します。なぜならファイルがロードされていないからです。 – nincs12

答えて

0

あなたのコメントを読んだことで、あなたの問題はあなたが思うところではないようです。 は:8080あなたが現在のURLに相対的なものであるのhref指定しているため、自動的に書かれている参照:現在のURLが相対URLに行く、localhost:8080/Week4/index.htmlある場合

itemlist実際にlocalhost:8080/Week4/itemlistにリダイレクトされます。

これは、動作させる方法でない場合は、絶対URLを指定する必要があります。たとえば、//localhost:80/Week4/itemlistを使用すると、別のサーバー(または同じサーバー上の別のリスナー)にリダイレクトされます。


あなたが達成しようとしていることは正確にはわかりませんが、私にはあなたが期待している動作は本当に良いとは言えません。非常に具体的なことをしている場合を除いて、リンクは同じサーバー上の別のポートにリダイレクトするべきではありません。

本当にを達成しようとしていることを教えていただけたら、よろしくお願いします。

+0

それぞれのリスト項目をhrefして、クリックした特定のファイルに直接移動します。 – nincs12

+0

申し訳ありませんが、それは十分正確ではありません。これらのファイルを扱うルートはありますか?なぜあなたはポートなしでそれらを見ることを期待していますか? – Telokis

+0

奇妙なことに、ポート8080(私のExpress JSが使用している)上のファイルに移動すると、404:Error:Not Found /var/www/richarddemeny/myapp/app.js:30:13 at (/ var/www/richarddemeny/myapp/node_modules/express /)にある012.htlele [as handle_request](/var/www/richarddemeny/myapp/node_modules/express/lib/router/layer.js:95:5) にtrim_prefix lib/router/index.js:312:13) - 同様のエラーメッセージがいくつか追加されています。私がポートなしでそれにナビゲートすると、ファイルは問題なく機能します。 – nincs12

関連する問題