2016-10-14 8 views
1

私はElmのナビゲーションパッケージを使って遊んでいましたが、ホップのフレームワークで作業しています。そして、cannot GET /<url>のメッセージが正面に表示されないようにする方法があるかどうか疑問に思っていましたのURL(例:#<url>)。Elm navigation preventはできませんGET

答えて

2

これはサーバー構成の問題である可能性があります。 #フリーURLを使用するには、リクエストURLに関係なく、同じ.htmlを提供するようにサーバーを設定する必要があります。それが提供されると、あなたのElmアプリはそこからロードしてそこから取り出します。

+0

私の気持ちが確認されたら、私は家に帰るとすぐにそれを働かそうとします – DevNebulae

2

Peter Szerzoさんの回答に追加すると、私とほぼ同じ問題についてan issue at the Github page of browser-syncページが見つかりました。その解決策は次のとおりです。

ApacheまたはNginxを使用する場合は、別のソリューションを使用する必要があります。これはブラウザ同期に特有のものです。

更新

上記のソリューションが機能しない、それは別の場所から再びアイテムを取得しますので、私は、別の問題に遭遇しました。たとえば、/blog/1に手動でナビゲートすると、その場所に変更するときにHTTPリクエストがないため、完全に正常に動作しますが、ページをリロードすると、ページは/blogからファイルをフェッチします。これは私が後者の問題を解決した方法です:

middleware: [ 
    (req, res, next) => { 
     const splitRequestUrl = req.url.split("/"); 
     const fileName = splitRequestUrl[splitRequestUrl.length - 1]; 

     //I have a seperate paths file 
     //Change paths.serve to whatever folder you want to specify as your base folder 
     if (fs.existsSync(path.join(process.cwd(), paths.serve, fileName))) 
      req.url = `/${fileName}`; 
     else 
      req.url = "/"; 

     next(); 
    } 
] 
関連する問題