Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(zh): remove localhost links #15138

Merged
merged 4 commits into from
Aug 16, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions files/zh-cn/.markdownlint.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,14 @@
"searchPattern": "/\\]\\(https:\\/\\/developer.mozilla.org\\/(?!en-US\\/blog\\/)/g",
"replace": "](/",
"searchScope": "text"
},
{
"name": "localhost-links",
"message": "Don't use localhost for links",
"searchPattern": "/\\]\\(https?:\\/\\/localhost:\\d+\\//g",
"replace": "](/",
"searchScope": "text"
}
// XXX Many instances still found in translated content
// {
// "name": "localhost-links",
// "message": "Don't use localhost for links",
// "searchPattern": "/\\]\\(https?:\\/\\/localhost:\\d+\\//g",
// "replace": "](/",
// "searchScope": "text"
// }
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ block content

## 它看起來像是?

运行应用程序,将浏览器打开到[http://localhost:3000](http://localhost:3000/),然后选择 Create new book 链接。如果一切设置正确,您的网站应该类似于以下屏幕截图。提交有效的图书后,应将其保存,然后您将进入图书详细信息页面。
运行应用程序,将浏览器打开到 `http://localhost:3000/`,然后选择 Create new book 链接。如果一切设置正确,您的网站应该类似于以下屏幕截图。提交有效的图书后,应将其保存,然后您将进入图书详细信息页面。

![](locallibary_express_book_create_empty.png)

Expand Down
24 changes: 12 additions & 12 deletions files/zh-cn/learn/server-side/express_nodejs/routes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -392,28 +392,28 @@ app.use("/catalog", catalogRouter); // 将 catalog 路由添加进中间件链
DEBUG=express-locallibrary-tutorial:* npm run devstart
```

> **备注:** 以上命令只对 bash 有效,要在 Windows 上使用 bash,最简单的方法就是安装 Git。(详情参见 [教程 2 相关译注](/zh-CN/docs/Learn/Server-side/Express_Nodejs/skeleton_website#使用应用生成器))
> **备注:** 以上命令只对 bash 有效,要在 Windows 上使用 bash,最简单的方法就是安装 Git。(详情参见[教程 2 相关译注](/zh-CN/docs/Learn/Server-side/Express_Nodejs/skeleton_website#使用应用生成器))

接下来浏览上面一些 URL,确保不会收到错误页面(HTTP 404)。可以尝试以下示例:

- <http://localhost:3000/>
- <http://localhost:3000/catalog>
- <http://localhost:3000/catalog/books>
- [http://localhost:3000/catalog/bookinstances](http://localhost:3000/catalog/bookinstances/)
- [http://localhost:3000/catalog/authors](http://localhost:3000/catalog/authors/)
- [http://localhost:3000/catalog/genres](http://localhost:3000/catalog/genres/)
- [http://localhost:3000/catalog/book/5846437593935e2f8c2aa226](http://localhost:3000/catalog/book/5846437593935e2f8c2aa226/)
- <http://localhost:3000/catalog/book/create>
- `http://localhost:3000/`
- `http://localhost:3000/catalog`
- `http://localhost:3000/catalog/books`
- `http://localhost:3000/catalog/bookinstances/`
- `http://localhost:3000/catalog/authors/`
- `http://localhost:3000/catalog/genres/`
- `http://localhost:3000/catalog/book/5846437593935e2f8c2aa226`
- `http://localhost:3000/catalog/book/create`

## 小结

网站的路由已创建完毕,接下来的教程将把完整的实现填入控制器框架中。藉此来学习 Express 路由的基础知识,以及组织路由和控制器的一些方式。

下一节将使用视图 (模板) 和模型里的信息创建一个欢迎页面。
下一节将使用视图(模板)和模型里的信息创建一个欢迎页面。

## 参见

- [路由基础](http://www.expressjs.com.cn/starter/basic-routing.html) (Express 官方文档)
- [路由简介](http://expressjs.com/en/guide/routing.html) (Express 官方文档)
- [基本路由](https://expressjs.com/zh-cn/starter/basic-routing.html)Express 文档)
- [路由指南](https://expressjs.com/zh-cn/guide/routing.html)Express 文档)

{{PreviousMenuNext("Learn/Server-side/Express_Nodejs/mongoose", "Learn/Server-side/Express_Nodejs/Displaying_data", "Learn/Server-side/Express_Nodejs")}}
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ block content

## 挑战自我

在 **/routes/users.js** 中添加一个新路由,在 URL `/users/cool/` 处显示文本 "你好酷"。运行服务器,并在浏览器中访问 [http://localhost:3000/users/cool/](http://localhost:3000/users/cool/),测试一下是否成功。
在 **/routes/users.js** 中添加一个新路由,在 URL `/users/cool/` 处显示文本你好酷。运行服务器,并在浏览器中访问 `http://localhost:3000/users/cool/`,测试一下是否成功。

## 小结

Expand All @@ -444,7 +444,7 @@ block content

## 参见

- [Express 应用生成器](http://www.expressjs.com.cn/starter/generator.html) (Express 中文镜像文档
- [ Express 中使用模板引擎](http://www.expressjs.com.cn/guide/using-template-engines.html)(Express 镜像文档
- [Express 应用程序生成器](https://expressjs.com/zh-cn/starter/generator.html)(Express 文档
- [将模板引擎用于 Express](https://expressjs.com/zh-cn/guide/using-template-engines.html)(Express 文档

{{PreviousMenuNext("Learn/Server-side/Express_Nodejs/Tutorial_local_library_website", "Learn/Server-side/Express_Nodejs/mongoose", "Learn/Server-side/Express_Nodejs")}}
Original file line number Diff line number Diff line change
Expand Up @@ -792,7 +792,7 @@ driver.quit();

修改 `.jar` 文件名为你获取的文件名称。

4. 服务会运行在 [`http://localhost:4444/wd/hub`](http://localhost:4444/wd/hub),你可以去试试看是什么效果。
4. 服务会运行在 `http://localhost:4444/wd/hub`,你可以去试试看是什么效果。

现在服务器运行起来了,让我们在 selenium 服务器上来创建一个 demo 测试。

Expand Down
56 changes: 28 additions & 28 deletions files/zh-tw/learn/server-side/express_nodejs/routes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ app.get('/users/:userId/books/:bookId', function (req, res) {

### 作者控制器

打開**/controllers/authorController.js**文件,並複制以下代碼:
打開 **/controllers/authorController.js** 文件,並複制以下代碼:

```js
var Author = require("../models/author");
Expand Down Expand Up @@ -246,13 +246,13 @@ exports.author_update_post = function (req, res) {
};
```

該模塊首先導入我們稍後將使用的模型,來訪問和更新我們的數據。然後它為我們希望處理的每個 URL,導出函數(創建,更新和刪除操作使用表單,因此還有其他方法,來處理表單發布請求- 我們將在稍後的「表單文章」 中討論這些方法) 。
該模塊首先導入我們稍後將使用的模型,來訪問和更新我們的數據。然後它為我們希望處理的每個 URL,導出函數(創建,更新和刪除操作使用表單,因此還有其他方法,來處理表單發布請求——我們將在稍後的「表單文章」中討論這些方法) 。

所有函數都具有 Express 中間件函數的標準形式,如果方法沒有完成請求週期,則會調用請求,響應和`next`下一個函數的參數(在所有這些情況下,它都會執行!)。這些方法只返回一個字符串,表明尚未創建關聯的頁面。如果期望控制器函數接收路徑參數,則在消息字符串中,輸出這些參數(參見上面的`req.params.id`)。
所有函數都具有 Express 中間件函數的標準形式,如果方法沒有完成請求週期,則會調用請求,響應和 `next` 下一個函數的參數(在所有這些情況下,它都會執行!)。這些方法只返回一個字符串,表明尚未創建關聯的頁面。如果期望控制器函數接收路徑參數,則在消息字符串中,輸出這些參數(參見上面的 `req.params.id`)。

#### 書本實例控制器

打開**/controllers/bookinstanceController.js**文件,並將其複製到以下代碼中(它遵循與`Author`控制器模塊相同的模式):
打開 **/controllers/bookinstanceController.js** 文件,並將其複製到以下代碼中(它遵循與 `Author` 控制器模塊相同的模式):

```js
var BookInstance = require("../models/bookinstance");
Expand Down Expand Up @@ -300,7 +300,7 @@ exports.bookinstance_update_post = function (req, res) {

#### 種類控制器

打開**/controllers/genreController.js**文件,並複制以下文本(這與`Author``BookInstance`文件的模式相同):
打開 **/controllers/genreController.js** 文件,並複制以下文本(這與 `Author``BookInstance` 文件的模式相同):

```js
var Genre = require("../models/genre");
Expand Down Expand Up @@ -348,7 +348,7 @@ exports.genre_update_post = function (req, res) {

#### 書本控制器

打開**/controllers/bookController.js**文件,並複制以下代碼。它遵循與其他控制器模塊相同的模式,但另外還有一個`index()`函數,用於顯示站點歡迎頁面:
打開 **/controllers/bookController.js** 文件,並複制以下代碼。它遵循與其他控制器模塊相同的模式,但另外還有一個 `index()` 函數,用於顯示站點歡迎頁面:

```js
var Book = require("../models/book");
Expand Down Expand Up @@ -402,7 +402,7 @@ exports.book_update_post = function (req, res) {

接下來,我們為 LocalLibrary 網站,創建所需全部 URL 的路由,這將調用我們在上一節中定義的控制器功能。

骨架網站已經有一個**./routes**文件夾,其中包含索引和用戶的路由。在此文件夾中,創建另一個路徑文件— **catalog.js** —如下圖所示。
骨架網站已經有一個 **./routes** 文件夾,其中包含索引和用戶的路由。在此文件夾中,創建另一個路徑文件—**catalog.js**—如下圖所示。

```plain
/express-locallibrary-tutorial //the project root
Expand All @@ -412,7 +412,7 @@ exports.book_update_post = function (req, res) {
catalog.js
```

打開**/routes/** **catalog.js**,複製下面的代碼:
打開 **/routes/catalog.js**,複製下面的代碼:

```js
var express = require("express");
Expand Down Expand Up @@ -552,17 +552,17 @@ router.get("/bookinstances", book_instance_controller.bookinstance_list);
module.exports = router;
```

該模塊導入 Express,然後使用它來創建一個`Router`對象。路由都在路由器上設置完成,然後導出。
該模塊導入 Express,然後使用它來創建一個 `Router` 對象。路由都在路由器上設置完成,然後導出。

路由是使用路由器對像上的`.get()``.post()`方法定義的。所有路徑都是使用字符串定義的(我們不使用字符串模式或正則表達式)。作用於某些特定資源(如書籍)的路由,則使用路徑參數從 URL 中獲取對象標識 id。
路由是使用路由器對像上的 `.get()``.post()` 方法定義的。所有路徑都是使用字符串定義的(我們不使用字符串模式或正則表達式)。作用於某些特定資源(如書籍)的路由,則使用路徑參數從 URL 中獲取對象標識 id。

處理程序函數,都是從我們在上一節中,創建的控制器模塊導入的。

### 更新 index 路由模組

我們已經設置了所有新路由,但我們仍然有一個到原始頁面的路由。讓我們將其重定向,到我們在路徑'/ catalog' 創建的新索引頁面。
我們已經設置了所有新路由,但我們仍然有一個到原始頁面的路由。讓我們將其重定向,到我們在路徑『/catalog創建的新索引頁面。

打開**/routes/index.js**並使用下面的函數,替換現有路由。
打開 **/routes/index.js** 並使用下面的函數,替換現有路由。

```js
// GET home page.
Expand All @@ -571,13 +571,13 @@ router.get("/", function (req, res) {
});
```

> **備註:** 這是我們第一次使用[redirect()](https://expressjs.com/en/4x/api.html#res.redirect)響應方法。這會重定向到指定的頁面,默認情況下會發送 HTTP 狀態代碼「302 Found」。您可以根據需要,更改返回的狀態代碼,並提供絕對路徑或相對路徑。
> **備註:** 這是我們第一次使用 [redirect()](https://expressjs.com/en/4x/api.html#res.redirect) 響應方法。這會重定向到指定的頁面,默認情況下會發送 HTTP 狀態代碼「302 Found」。你可以根據需要,更改返回的狀態代碼,並提供絕對路徑或相對路徑。

### 更新 app.js

最後一步,是將路由,添加到中間件鏈。我們在`app.js`這樣做。
最後一步,是將路由,添加到中間件鏈。我們在 `app.js` 這樣做。

打開**app.js**,並要求其他路由下方的目錄路由(添加下面顯示的第三行,在其他兩個路由下面):
打開 **app.js**,並要求其他路由下方的目錄路由(添加下面顯示的第三行,在其他兩個路由下面):

```js
var indexRouter = require("./routes/index");
Expand All @@ -593,13 +593,13 @@ app.use("/users", usersRouter);
app.use("/catalog", catalogRouter); // Add catalog routes to middleware chain.
```

> **備註:** 我們已在路徑`'/catalog'`中添加了目錄模塊。它預先添加到目錄模塊中定義的所有路徑。例如,要訪問書本列表,URL 將為:`/catalog/books/`。
> **備註:** 我們已在路徑 `'/catalog'` 中添加了目錄模塊。它預先添加到目錄模塊中定義的所有路徑。例如,要訪問書本列表,URL 將為:`/catalog/books/`。

就是這樣。現在應該為我們最終在 LocalLibrary 網站上支持的所有 URL,啟用路由和框架功能。

### 測試路由

要測試路由,首先使用您通常的方法啟動網站
要測試路由,首先使用你通常的方法啟動網站
jasonren0403 marked this conversation as resolved.
Show resolved Hide resolved

- 預設方法

Expand All @@ -611,9 +611,9 @@ app.use("/catalog", catalogRouter); // Add catalog routes to middleware chain.
DEBUG=express-locallibrary-tutorial:* npm start
```

- 如果您先前設置了[nodemon](/zh-TW/docs/Learn/Server-side/Express_Nodejs/skeleton_website) ,則可以使用:
- 如果你先前設置了 [nodemon](/zh-TW/docs/Learn/Server-side/Express_Nodejs/skeleton_website),則可以使用:

```plain
```bash
// Windows
SET DEBUG=express-locallibrary-tutorial:* & npm run devstart

Expand All @@ -623,20 +623,20 @@ app.use("/catalog", catalogRouter); // Add catalog routes to middleware chain.

然後瀏覽一些上面的 LocalLibrary URL,並驗證您沒有收到錯誤頁面(HTTP 404)。為方便起見,下面列出了一小組網址:

- <http://localhost:3000/>
- <http://localhost:3000/catalog>
- <http://localhost:3000/catalog/books>
- <http://localhost:3000/catalog/bookinstances/>
- <http://localhost:3000/catalog/authors/>
- <http://localhost:3000/catalog/genres/>
- [http://localhost:3000/catalog/book/5846437593935e2f8c2aa226](http://localhost:3000/catalog/book/5846437593935e2f8c2aa226/)
- <http://localhost:3000/catalog/book/create>
- `http://localhost:3000/`
- `http://localhost:3000/catalog`
- `http://localhost:3000/catalog/books`
- `http://localhost:3000/catalog/bookinstances/`
- `http://localhost:3000/catalog/authors/`
- `http://localhost:3000/catalog/genres/`
- `http://localhost:3000/catalog/book/5846437593935e2f8c2aa226`
- `http://localhost:3000/catalog/book/create`

## 總結

我們現在為網站創建了所有的路由,在稍後的教程,我們可以將實作完成的代碼,填入到空殼控制器函式。以這樣的方式,我們學到了許多關於 Express 路由的基本信息,以及一些組織路由和控制器的方式。

下一篇文章,我們將使用視圖(模板) 和存在模型裡的信息,為網站創建一個合適的歡迎頁面。
下一篇文章,我們將使用視圖(模板)和存在模型裡的信息,為網站創建一個合適的歡迎頁面。

## 參閱

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,15 +179,15 @@ express express-locallibrary-tutorial --view=pug
DEBUG=express-locallibrary-tutorial:* npm start
```

3. 然後在瀏覽器中加載 <http://localhost:3000/> ,以訪問該應用程序。
3. 然後在瀏覽器中加載 `http://localhost:3000/`,以訪問該應用程序。

你應該會看到一個瀏覽器頁面,就像這樣:

![Browser for default Express app generator website](expressgeneratorskeletonwebsite.png)

你有一個能工作的 Express 應用了,讓它在 [http://localhost:3000/](http://localhost:3000/) 服務。
你有一個能工作的 Express 應用了,讓它在 `http://localhost:3000/` 服務。

> **備註:** 您也可以使用 `npm start`命令啟動應用程序。如下圖所示,指定 DEBUG 變量可啟用控制台日誌記錄/調試。例如,當你訪問上面的頁面時,你會看到像這樣的調試輸出:
> **備註:** 你也可以使用 `npm start` 命令啟動應用程序。如下圖所示,指定 DEBUG 變量可啟用控制台日誌記錄/調試。例如,當你訪問上面的頁面時,你會看到像這樣的調試輸出:
>
> ```bash
> >SET DEBUG=express-locallibrary-tutorial:* & npm start
Expand Down