GO後端開發+VUE實列

来源:https://www.cnblogs.com/shuffleTime/archive/2022/03/24/16051256.html
-Advertisement-
Play Games

上一版:重磅!JDK 17 發佈,Oracle 宣佈從 JDK 17 開始正式免費。。 JDK 18 正式發佈 JDK 17 剛發佈半年,JDK 18 又如期而至,JDK 版本號這算是成年了? JDK 18 發佈了,棧長繼續為大家解讀! JDK 18 延續了 JDK 17 開創的免費策略,但,JDK ...


因為我是從java轉到go,代碼結構跟我之前用java的很像

在這裡只淺顯的實戰運用,沒有過多理論講解

工作環境:IDE:Goland , Go 1.17.7 框架 Gin+Gorm ,前端VUE

這裡不過多講前端,可以到我的github或者gitee拉取

Go的安裝配置

在官網下載完,安裝後需要配置兩個環境變數

一個是GOROOT,也就是Go安裝的文件夾,註意不要定位到 /bin裡面

還有一個是GOPATH,這個就是存放工作空間的文件夾

image-20220307225944541

image-20220307230024326建議在工作空間里先創多一個pkg文件夾,裡面就會存放下載的庫,gin_vue是我的項目

我用的IDE是Goland,所以裡面還需要配置,建議將Goland自動配置的Go環境變數刪掉,除非你的庫想安裝在C盤

image-20220307230313843快捷鍵 Crtl+shift+s 進入設置點擊GOPATH配置工作環境

安裝框架

在項目文件夾路徑里輸入 cmd 調出黑視窗輸入,或者在Goland下麵點擊Triminal

go get github.com/gin-gonic/gin //後端框架
go get github.com/jinzhu/gorm //資料庫框架

項目開始

結構

首先是確定好項目結構,因為之前用過java寫後端所以就沿用了一些風格

image-20220324120820181

其中bin是放go編譯後的文件的,src就是代碼存放的文件。config就是存放一些配置信息的文件

controller是對資料庫各個表的操作,一個go文件代表一個表的操作

dbUtils是資料庫連接初始化的文件

entiy就是存放資料庫各個表裡面的欄位結構

router就是定義後端給前端的介面文件

utils就是工具類

配置文件

config.yml

ip: 127.0.0.1 #ip地址
user: root #資料庫用戶的名字
pwd: 123456 #這裡資料庫用戶的密碼
db_name: gotest #所連接資料庫的名字
db_port: 3306 #連接資料庫的埠號

資料庫連接

這是我gotest資料庫的一個表user的欄位,下麵基本就是對這個表的操作

image-20220324123003641

var AdminT, UserT, Db *gorm.DB

func Init() {
   var c ymlConfig
   var dbConfig string
   config := c.getYml()
   //"root:root123@tcp(127.0.0.1:3306)/test_gorm?charset=utf8mb4&parseTime=True&loc=Local"
   dbConfig = config.User + ":" + config.Pwd + "@tcp(" + config.Ip + ":" + config.Db_port + ")/" + config.Db_name + "?charset=utf8mb4&parseTime=True&loc=Local"
   db, err := gorm.Open("mysql", dbConfig)
   if err != nil {
      panic(err)
   }

   AdminT = db
   UserT = db
   //綁定資料庫表名
   UserT.AutoMigrate(&entiy.User{})

}

定義表的結構

我創建了一個表叫做User,struct作為一個映射對象,對應著user裡面的欄位

image-20220324122416069

對資料庫表的操作

這裡的c *gin.Context是後端介面傳來的信息

ShouldBindJSON就是將結構體傳進去,會將前端發送的JSON數據按照結構體進行數據綁定

image-20220324122359174

創建介面

這裡就是後端介面的創建,前端訪問/user/login 就會訪問到這個介面對應的處理函數

image-20220324122703537

初始化

確定後端埠號

image-20220324124703649

拉取項目

目的是vue項目(後端給他配置好的埠號是9292,要是大家改了前面後端的埠號就會通不了),需要提前安裝node.js,

https://nodejs.org/en/

image-20220324123404342

一直點擊,安裝到你指定的文件夾就行了

系統環境 配置 這裡的地址是你安裝nodejs的地址裡面的node_modules

image-20220324123443214

在系統環境變數里雙擊path 將你的nodejs地址放進去即可

image-20220324123628813

這是我的工程項目,下麵放著vue的項目

image-20220324123729658

現在為vue添加構造器 點擊畫圈地方

image-20220324124125115

按Edit Configuration 進入,點擊左上角的+號 找到npm

image-20220324124253177

按照我這裡配置一下,基本都是上面涉及到的路徑,點擊確定

image-20220324124408699

在Goland的命令行中

cd vue
npm install

image-20220324124011950

等安裝完就可以點擊這裡切換前後端運行了 image-20220324124508698

若有其他問題可以在評論區討論


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • html的基礎 html(超文本標記語言),運行在瀏覽器端的靜態解釋型語言, JavaWeb基本概述 html的基本標簽 html html是解釋語言,瀏覽器容錯的,可以有錯誤,編譯器會自己解釋 網頁上看到的內容都是寫在裡面的 基本標簽 <!-- 1. html頁面中由一對標簽組成:<html></ ...
  • 一 、如何引路入less文件 1)使用官方插件 less.min.js 步驟一:插件下載地址:https://github.com/less/less.js 步驟二:下好插件後找到js文件路徑,如下圖: 步驟三:將less.min.js/less.js複製到項目js文件路徑下 步驟四:創建一個les ...
  • 從業軟體項目這麼多年,在企業應用開發項目中,項目能否成功,是否能按照項目計劃有效的推進,是有很強的一套項目管理理論。最早的時候,接觸的項目管理的方法論就是微軟的MSF(Microsoft Solutions Framework)。它是一個可以更快地成功交付技術解決方案的方法論,強調實施此項目方法需要 ...
  • 1 可靠性Reliability 容忍硬體故障、軟體失效、人為錯誤即使發生了錯誤,系統仍可用。針對可消除影響的故障類型。 硬體故障:硬體增加冗餘;軟體容錯容忍多機失效; 軟體失效: 特點:長期引而不發,特定條件觸發。 方案:全面考慮,充分測試,反覆評估,及時響應。 人為錯誤:簡化人為操作;分離易錯場 ...
  • 使用 sort() 或內建函數 sorted() 對列表進行排序。它們之間的區別有兩點: sort() 方法是對原列表進行操作,而 sorted() 方法會返回一個新列表,不是在原來的基礎上進行操作。 sort() 是應用在列表上的方法,而 sorted() 可以對所有可迭代的對象進行排序操作。 # ...
  • (JVM | 第2部分:虛擬機執行子系統) 前言 參考資料: 《深入理解 Java 虛擬機 - JVM 高級特性與最佳實踐》 第1部分主題為自動記憶體管理,以此延伸出 Java 記憶體區域與記憶體溢出、垃圾收集器與記憶體分配策略、參數配置與性能調優等相關內容; 第2部分主題為虛擬機執行子系統,以此延伸出 c ...
  • 需求:請輸出一個4行5列的星星(*)圖案。 結果: ***** ***** ***** ***** public class XunHuanQianTao { public static void main(String[] args) { //外層控制行數 內層控制列數 for(int x=0;x ...
  • 我還記得我讀高中的時候,班裡邊很多同學都在玩天天酷跑,那時候對天天酷跑特別沉迷。早上六點早讀,我可以晚上玩酷跑到半夜,現在不得不感嘆年輕真好。為了懷念過去的青春,今天來一篇酷跑教程。 寫出來的效果圖就是這樣了: 下麵就更新一下全部的代碼吧還是老樣子先定義 import pygame,sys impo ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...