go+gin+vue入门

后端框架

1、安装go、goland

2、创建空项目

3、下载要用的包:命令行输入go get -u github.com/xxxx

4、安装mysql数据库,使用navicat创建数据库。

5、按照项目框架搭建目录、文件、代码:如router、model...

6、运行测试,go run main.go

前端框架

1、安装node.js、WebStorm

2、生成前端项目:后端项目同级目录cmd执行 npm create vite@latest

3、将项目导入开发工具Webstorm

4、安装依赖:webstorm命令行执行 npm install

5、运行测试:npm run dev

6、导入vue-router4:npm install vue-router@4

7、按照项目框架搭建目录、文件、代码:如router、views...

后端开发基本内容

初始化路由:创建router目录,目录下创建app.go文件

复制代码
package router

import "github.com/gin-gonic/gin"

func App() *gin.Engine {
	r := gin.Default()

	return r
}

初始化数据库:创建model目录,目录下创建init.go文件

复制代码
package model

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var DB *gorm.DB

func Database() {
	dsn := `root:yeanhoo@tcp(127.0.0.1:3306)/analysis_sys?charset=utf8mb4&parseTime=True&loc=Local`
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
		DisableForeignKeyConstraintWhenMigrating: true,
	})

	if err != nil {
		panic(err)
	}
	DB = db
}

项目根目录创建main.go文件

复制代码
package main

import (
	"analysis_sys/model"
	"analysis_sys/router"
)

func main() {

	//初始化gorm.db
	model.Database()
	r := router.App()
	r.Run(":8081")
}

前端开发基本内容

src目录下创建router目录,目录下创建index.ts

复制代码
//导入vue-router模块
//导入vue-router模块
import {createRouter,createWebHashHistory} from "vue-router"


//定义路由
const routers = [{
    path:"/",
    name:"login",
    meta: {title:"应急响应单兵应用"},
    component: ()=> import("../views/Login.vue")

}]

//创建路由实例并传递router配置
const router = createRouter({
    history: createWebHashHistory(),
    routes:routers

})

export default router

main.ts中导入index.ts,进行路由的定义和注册

复制代码
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'

const app = createApp(App)
app.use(router)
app.mount('#app')

src目录下创建views目录,目录下新建vue组件,Login.vue

复制代码
<script setup lang="ts">

</script>

<template>
<h1>登录页面</h1>
</template>

<style scoped>

</style>

修改src目录下app.vue,用于显示与当前路由匹配的视图组件。

复制代码
<script setup lang="ts">

</script>

<template>
<router-view></router-view>
</template>

<style scoped>

</style>
相关推荐
用户516816614584114 小时前
Vue Router 路由懒加载引发的生产页面白屏问题
vue.js·vue-router
前端缘梦14 小时前
Vue Keep-Alive 组件详解:优化性能与保留组件状态的终极指南
前端·vue.js·面试
Simon_He14 小时前
这次来点狠的:用 Vue 3 把 AI 的“碎片 Markdown”渲染得又快又稳(Monaco 实时更新 + Mermaid 渐进绘图)
前端·vue.js·markdown
王同学QaQ19 小时前
Vue3对接UE,通过MQTT完成通讯
javascript·vue.js
华仔啊20 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端
艾小码20 小时前
告别Vue混入的坑!Composition API让我效率翻倍的3个秘密
前端·javascript·vue.js
Gracemark2 天前
高德地图-地图选择经纬度问题【使用输入提示-使用Autocomplete进行联想输入】(复盘)
vue.js
天下无贼2 天前
【手写组件】 Vue3 + Uniapp 手写一个高颜值日历组件(含跨月补全+今日高亮+选中状态)
前端·vue.js
洋葱头_2 天前
vue3项目不支持低版本的android,如何做兼容
前端·vue.js
奔跑的蜗牛ing2 天前
Vue3 + Element Plus 输入框省略号插件:零侵入式全局解决方案
vue.js·typescript·前端工程化