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>
相关推荐
yqcoder29 分钟前
Vue3 + Vite + Electron + TS 项目构建
前端·javascript·vue.js
ggdpzhk3 小时前
VUE:基于MVVN的前端js框架
前端·javascript·vue.js
活宝小娜7 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点7 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow7 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
刚刚好ā8 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
会发光的猪。11 小时前
css使用弹性盒,让每个子元素平均等分父元素的4/1大小
前端·javascript·vue.js
天下代码客11 小时前
【vue】vue中.sync修饰符如何使用--详细代码对比
前端·javascript·vue.js
周全全11 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
ZwaterZ12 小时前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue