天天看點

使用golang和svelte搭建前後端分離項目詳細步驟

作者:燈泡是個男孩

以下是使用golang和svelte搭建前後端分離項目的詳細步驟:

1. 下載下傳安裝Golang

在官網下載下傳對應作業系統的安裝包,安裝Golang。

2. 建立項目目錄

在本地建立一個空檔案夾,用于存放項目檔案。

3. 建立後端代碼

在該目錄下建立一個main.go的檔案,用于編寫後端代碼。

```go

package main

import (
 "encoding/json"
 "log"
 "net/http"
)

type Todo struct {
 Name      string `json:"name"`
 Completed bool   `json:"completed"`
}

type Todos []Todo

func main() {
 http.HandleFunc("/todos", func(w http.ResponseWriter, r *http.Request) {
  todos := Todos{
   Todo{Name: "Task 1", Completed: false},
   Todo{Name: "Task 2", Completed: true},
   Todo{Name: "Task 3", Completed: false},
  }

  json.NewEncoder(w).Encode(todos)
 })

 log.Fatal(http.ListenAndServe(":8080", nil))
}           

```

該代碼會在端口8080啟動一個Web伺服器,當通路/todos路由時,用json格式傳回三個任務的清單。

可以使用以下指令運作該代碼:

```

go run main.go           

```

4. 測試後端代碼

在浏覽器中通路 http://localhost:8080/todos,應該能看到任務清單以json格式顯示在頁面上。

5. 建立前端代碼

在該目錄下建立一個名為“client”的檔案夾,在其中建立一個index.html檔案。

```html

<!DOCTYPE html>
<html>
  <head>
    <title>Todos</title>
  </head>
  <body>
    <ul>
      {#each todos as todo}
        <li>
          {#if todo.completed}
            <del>{todo.name}</del>
          {:else}
            {todo.name}
          {/if}
        </li>
      {/each}
    </ul>

    <script src="bundle.js"></script>
  </body>
</html>           

```

6. 建立Svelte應用程式

使用以下指令安裝svelte:

```

npm install -g degit svelte           

```

在指令行中導航到項目目錄,并使用以下指令在client檔案夾中建立一個svelte應用程式:

```

npx degit sveltejs/template client           

```

該指令會在client檔案夾中建立一個基本的svelte應用程式。

7. 修改svelte應用程式

在client檔案夾中打開src/App.svelte檔案。使用以下代碼替換它:

```html

<script>
  let todos = [];

  fetch('/todos')
    .then(res => res.json())
    .then(data => {
      todos = data;
    });
</script>

<ul>
  {#each todos as todo}
    <li>
      {#if todo.completed}
        <del>{todo.name}</del>
      {:else}
        {todo.name}
      {/if}
    </li>
  {/each}
</ul>           

```

該代碼将使用fetch API從Web伺服器擷取待辦事項,并将其存儲在名為todos的變量中。接下來,将使用熟悉的svelte文法建立待辦事項清單。

8. 建構前端應用程式

使用以下指令在client檔案夾中建構前端應用程式:

```

cd client
npm run build           

```

該指令将生成一個名為“public”的檔案夾,其中包含所有的建構代碼和資産。

9. 運作項目

傳回項目的根目錄,并使用以下指令啟動Web伺服器:

```

go run main.go           

```

在浏覽器中通路 http://localhost:8080,應該能看到任務清單以HTML格式顯示在頁面上。

10. 完成

完成了前後端分離的項目實作,現在可以按照自己的需求進行開發。

繼續閱讀