2017-07-26 6 views
2

私はエクスプレスを使用して簡単なアプリケーションを作成しています。静的資産への明示的なリンクで、ユーザーが404ページを訪問したときに壊れます

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8" lang="english"> 
    <title>{{ title }} </title> 
</head> 
<body> 

{{{body}}} 

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
<script src="js/my.js"></script> 
</body> 
</html> 

問題は、ユーザーが404ページを訪問した場合、そのサイトの休憩中に、すべての静的な資産にリンクしていることである:私は何か、このようになりますハンドルを使用して、私のテンプレートをコード化しています。私が見つけた唯一の解決策は、次のように静的なファイルへのリンクをハードコーディングすることです:

<script src="http://localhost:3000/js/my.js"></script> 

は明らかに、これは推奨方法ではありません。あなたはこの問題にどのように取り組んでいますか? 私はDjangoのバックグラウンドから来ており、静的コンテンツをリンクするための一貫性のある簡単な方法を提供します。私たちは急行(またはハンドルバー)のようなものを持っていますか?

おかげ

答えて

1

変更このライン現在

<script src="js/my.js"></script>

<script src="/js/my.js"></script>

、あなたは相対(現在のページと同じフォルダ内にmy.jsファイルを探していますパス)。

はたとえば、あなたのページが存在する場合で: http://localhost:3000/myroute/mypage

それはそれはサイトのルートを指します /js/my.jsにそれを変更することにより http://localhost:3000/myroute/js/my.js

でのJavaScriptファイルを探します

(絶対パス): http://localhost:3000/js/my.js

HTML Filepaths

All About File Paths

+0

すばらしい返答をいただき、ありがとうございます。しかし、それはなぜ早く動かなかったのですか? – Cody

+0

私はちょっとした説明とファイルパスを少し説明するためのリンクを追加して私の回答を更新しました。 – Woodsy

関連する問題