つい先日Node.jsのアプリをWeb Appsにデプロイする際にデータをDBに入れるのを横着して静的なJsonファイルにして読もうとしたらパスはあってるはずなのにデフォルトで読めない現象に陥ったので備忘録
状況としては, Node.js + Expressの組み合わせのアプリケーションにJsonファイルを含めた状態でデプロイしたら遭遇しました.
結果から言うと, Node.jsは, 全く関係なし.
Web AppsのデフォルトのWeb.configでは, JsonがMIMEマッピングする設定が記述されていないためでした.
そこでとりあえずKuduにアクセスしてWeb.configをいじります.
ちなみにKuduへのアクセスは, http://hoge.azurewebsites.net の場合, http://hoge.scm.azurewebsites.net にアクセスすると管理画面に入れます.
Kuduの管理画面の上の項目にある, Debug Consoleから, Powershellかcmdを起動して, site/wwwroot/web.config を編集します.
web.configには,
<staticContent> <mimeMap fileExtension=\".json\" mimeType=\"application/json\" /> </staticContent>
を記述してやればOKです.
記述して, 保存するとそのまますぐに反映されるので読めるようになるはずです.