「Nancy/静的コンテンツを扱う」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | + | Nancyでは初期状態でJavaScriptやCSSなどの静的コンテンツは除外されてしまい問答無用で404 Not Foundを返してくる。 | |
どうしろと。 | どうしろと。 | ||
==解決策(仮)== | ==解決策(仮)== | ||
− | + | DefaultNancyBootstrapperを継承したクラスをプロジェクトの直下においておくと勝手に読み込まれる模様。 | |
+ | |||
そしてその中のConfigureConventionsメソッドを上書きして、以下のように静的コンテンツのあるディレクトリを書きまくれば解決した。 | そしてその中のConfigureConventionsメソッドを上書きして、以下のように静的コンテンツのあるディレクトリを書きまくれば解決した。 | ||
サブディレクトリも対象になるようだ。 | サブディレクトリも対象になるようだ。 | ||
20行目: | 21行目: | ||
base.ConfigureConventions(conventions); | base.ConfigureConventions(conventions); | ||
− | |||
− | |||
conventions.StaticContentsConventions.Add( | conventions.StaticContentsConventions.Add( | ||
StaticContentConventionBuilder.AddDirectory("Scripts", @"Scripts") | StaticContentConventionBuilder.AddDirectory("Scripts", @"Scripts") | ||
− | |||
− | |||
− | |||
); | ); | ||
} | } | ||
34行目: | 30行目: | ||
StaticContentConventionBuilder.AddDirectoryの書式は以下のような感じだと思う。 | StaticContentConventionBuilder.AddDirectoryの書式は以下のような感じだと思う。 | ||
− | + | 公開名がURLの一部となる部分で、公開ディレクトリがXamarin Studioのプロジェクト上のディレクトリになる。 | |
「公開名」と「公開ディレクトリ」を同一にしておけば扱いやすいと思う。 | 「公開名」と「公開ディレクトリ」を同一にしておけば扱いやすいと思う。 | ||
本当にこれでいいのかは知らん。 | 本当にこれでいいのかは知らん。 | ||
40行目: | 36行目: | ||
StaticContentConventionBuilder.AddDirectory(公開名, 公開ディレクトリ) | StaticContentConventionBuilder.AddDirectory(公開名, 公開ディレクトリ) | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{stub}} | {{stub}} | ||
− | |||
− | |||
− |