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>
相关推荐
D_C_tyu6 分钟前
Vue3 + Element Plus 实现前端手动分页
javascript·vue.js·elementui
千里码aicood30 分钟前
python+vue旅游购票管理系统设计(源码+文档+调试+基础修改+答疑)
vue.js·python·旅游
麦麦大数据3 小时前
F038 vue+flask 微博舆情热搜情感分析大数据分析系统|前后端分离架构
vue.js·架构·flask·情感分析·微博·舆情分析
qq_339191143 小时前
vue3 npm run dev局域网可以访问,vue启动设置局域网访问,
前端·vue.js·npm
橙某人5 小时前
Vue3 + Pinia 移动端Web应用:页面缓存策略解决方案💡
前端·javascript·vue.js
冲刺逆向6 小时前
【js逆向案例二】瑞数6 深圳大学某医院
前端·javascript·vue.js
西木之斤6 小时前
vue和react实例简单对比
vue.js·react.js
慧一居士7 小时前
Vue 中 <keep-alive> 功能介绍,使用场景,完整使用示例演示
前端·vue.js
晴殇i7 小时前
解锁Web Workers:解决90%前端性能瓶颈的利器
前端·javascript·vue.js
Sheldon一蓑烟雨任平生8 小时前
Vue3 透传 Attributes
vue.js·vue3·透传attributes·禁用attributes继承·深层组件继承