58 lines
2.7 KiB
Markdown
58 lines
2.7 KiB
Markdown
---
|
|
id: 587d7fb0367417b2b2512bee
|
|
title: 作業用の Express サーバーを起動する
|
|
challengeType: 2
|
|
forumTopicId: 301519
|
|
dashedName: start-a-working-express-server
|
|
---
|
|
|
|
# --description--
|
|
|
|
ファイル `myApp.js` の最初の 2 行を見ると、Express アプリオブジェクトを簡単に作成できることがわかります。 このオブジェクトにはいくつかのメソッドがあり、チャレンジでそれらの多くを学ぶことになります。 基本的なメソッドの一つが、`app.listen(port)` です。 このメソッドは、指定されたポートをリッスンするようにサーバーへ指示し、サーバーを実行中の状態にします。 テスト目的のため、アプリをバックグラウンドで実行する必要があります。そのため、このメソッドを `server.js` ファイルに追加しました。
|
|
|
|
サーバーから最初の文字列を提供してみましょう! Express では、ルートは `app.METHOD(PATH, HANDLER)` という構造をとります。 METHOD は、小文字の http メソッドです。 PATH は、サーバー上の相対パスです (文字列、または正規表現でもかまいません) 。 HANDLER は、ルートが一致したときに Express が呼び出す関数です。 ハンドラーは `function(req, res) {...}` という形式をとります。req はリクエストオブジェクトで、res はレスポンスオブジェクトです。 たとえば、下記のハンドラー
|
|
|
|
```js
|
|
function(req, res) {
|
|
res.send('Response String');
|
|
}
|
|
```
|
|
|
|
は、文字列「Response String」を提供します。
|
|
|
|
# --instructions--
|
|
|
|
`app.get()` メソッドを使用して、`/` (root) パスに一致する GET リクエストに対して文字列「Hello Express」を提供してください。 ログを見てコードが動作することを確認し、Replit を使用している場合はプレビューで結果を確認してください。
|
|
|
|
** 注: ** レッスンのコードはすべて、あらかじめ用意されている数行のコードの間に追加する必要があります。
|
|
|
|
# --hints--
|
|
|
|
アプリは、「Hello Express」という文字列を提供する必要があります。
|
|
|
|
```js
|
|
(getUserInput) =>
|
|
$.get(getUserInput('url')).then(
|
|
(data) => {
|
|
assert.equal(
|
|
data,
|
|
'Hello Express',
|
|
'Your app does not serve the text "Hello Express"'
|
|
);
|
|
},
|
|
(xhr) => {
|
|
throw new Error(xhr.responseText);
|
|
}
|
|
);
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
/**
|
|
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.
|
|
*/
|
|
```
|