2017-04-13 24 views
0

/stuffや/ stuff/fooなどの異なるパスで同じファイルを送信したい場合、問題は私がこれをやろうとするときです以下のエラーを取得:express、nodejs内の同じファイルへの任意のパスへのルーティング

app.use("/", express.static(path.join(__dirname, "./../public"))); 
app.get("/stuff", sendIndexHTML); 
app.get("/stuff/:id", sendIndexHTML); 

function sendIndexHTML(req, res) { 
    res.sendFile(path.join(__dirname + "./../public/index.html")); 
} 
+0

はSPAのアプリですか? – Gntem

+0

@ Mr.Phoenixそれは、反応ルータを使用して反応アプリです – Ferus

+0

なぜクライアント側でルーティングを処理しないのですか?あなたはすでに反応ルータを使用しており、基本的に同じページをレンダリングします。 – Gntem

答えて

2

それはそのパスがに設定されている/stuff、から提供ばかりですので、あなたは相対パスとしてあなたindex.htmlmain.jsを参照している:ここで

Refused to execute script from 'http://localhost:8000/stuff/main.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled. 

コードです返信index.html(これにはMIMEタイプtext/html)。

htmlファイルのスクリプトファイルパスを更新するだけです。

変更

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

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

それは静的な資産を果たすように構成されているルートパスから提供された方法へ。

+0

修正しました、ありがとう! – Ferus

関連する問題