2021-05-05 10:13:49 -07:00
|
|
|
|
---
|
|
|
|
|
id: 587d7fb0367417b2b2512bee
|
|
|
|
|
title: 啓動一個 Express 服務
|
|
|
|
|
challengeType: 2
|
|
|
|
|
forumTopicId: 301519
|
|
|
|
|
dashedName: start-a-working-express-server
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
|
|
|
|
|
在 `myApp.js` 文件的前兩行中,你可以看到創建一個 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--
|
|
|
|
|
|
2021-05-12 21:25:58 +05:30
|
|
|
|
當 GET 請求 `/`(根路由 )時,使用 `app.get()` 方法響應一個“Hello Express”字符串。 通過查看日誌確保代碼正常運行,如果使用 Replit 可以在預覽中查看結果。
|
2021-05-05 10:13:49 -07:00
|
|
|
|
|
|
|
|
|
**注意:** 這些課程的所有代碼應該放在開始給出的幾行代碼之間。
|
|
|
|
|
|
|
|
|
|
# --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.
|
|
|
|
|
*/
|
|
|
|
|
```
|