2.4 KiB
2.4 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 587d7fb0367417b2b2512bf0 | 静的アセットを提供する | 2 | 301518 | serve-static-assets |
--description--
HTML サーバーには通常、ユーザーがアクセスできるディレクトリが 1 つ以上あります。 それらのディレクトリには、アプリに必要な静的アセット (スタイルシート、スクリプト、画像) を置くことができます。
Express では、ミドルウェア express.static(path) を使用してこの機能を実現できます。ここで、path パラメーターはアセットのあるフォルダーの絶対パスです。
ミドルウェアのことが分からなくても心配はいりません。後で詳しく説明します。 基本的に、ミドルウェアとは、ルートハンドラーに割り込んで何らかの情報を追加する関数です。 ミドルウェアはメソッド app.use(path, middlewareFunction) を使用してマウントする必要があります。 最初の path 引数は任意です。 これを渡さない場合は、すべてのリクエストに対してミドルウェアが実行されます。
--instructions--
app.use() を使用して、express.static() ミドルウェアをパス /public にマウントしてください。 アセットフォルダーへの絶対パスは __dirname + /public です。
これで、アプリが CSS スタイルシートを提供できるようになります。 /public/style.css ファイルは、プロジェクト ボイラープレートの /views/index.html で参照されることに注意してください。 これで、フロントページの見栄えが少し良くなっているはずです!
--hints--
アプリは、/public ディレクトリから /public パスにアセットファイルを提供する必要があります。
(getUserInput) =>
$.get(getUserInput('url') + '/public/style.css').then(
(data) => {
assert.match(
data,
/body\s*\{[^\}]*\}/,
'Your app does not serve static assets'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
--solutions--
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/