vue3+ts+node个人博客系统(一)

一、搭建项目

二、搭建node后端

(1)下载安装需要的插件
下载express

npm install express

下载cors,用于处理接口跨域问题

npm install cors

下载mysql

npm install mysql

下载axios

npm install axios

(2)在项目中创建server文件夹,用于搭建本地服务器

a:新建/server/app.js,用于配置服务器相关信息

let express = require('express')
let app = express()
let cors = require('cors')
let bodyParser = require('body-parser')

app.use(bodyParser.json());  //配置解析,用于解析json和urlencoded格式的数据
app.use(bodyParser.urlencoded({extended: false}));
app.use(cors())              //配置跨域,必须在路由之前

//这里的80可以按实际情况去改
app.listen(80, () => {
    console.log('服务器启动成功');
})

b:新建/server/db/index.js,用于配置数据库相关信息

let mysql = require('mysql')

let db = mysql.createPool({
    host: '127.0.0.1',     //数据库IP地址
    user: 'root',          //数据库登录账号
    password: '123',      //数据库登录密码
    database: 'myststem'       //要操作的数据库
})

module.exports = db

c:新建/server/API/user.js,用于操作数据库

let db = require('../db/index')

exports.get = (req, res) => {
    var sql = 'select * from user'
    db.query(sql, (err, data) => {
        if(err) {
            return res.send('错误:' + err.message)
        }
        res.send(data)
    })
}

d:新建/server/router.js,用于配置对应路由

let express = require('express')
let router = express.Router()
let user = require('./API/user')

router.get('/user', user.get)

module.exports = router

e:在/server/app.js中导入路由配置

let express = require('express')
let app = express()
let cors = require('cors')
let bodyParser = require('body-parser')
let router = require('./router')

app.use(bodyParser.json());  //配置解析,用于解析json和urlencoded格式的数据
app.use(bodyParser.urlencoded({extended: false}));
app.use(cors())              //配置跨域
app.use(router)              //配置路由

app.listen(80, () => {
    console.log('服务器启动成功');
})

f:测试服务器是否搭建成功

进入server文件夹下执行node app.js
提示“服务器启动成功”,浏览器打开http://127.0.0.1/user(前提先在mysql里面建相应的表,可看见user数据表中对应的数据,表示服务器搭建成功。

 

 (3)项目访问接口获取数据

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

<script>
import axios from "axios"
import { onMounted } from "vue"
export default {
  name: "App",

  setup() {
    onMounted(() => {
      axios
        .get("http://127.0.0.1:83/user")
        .then((res) => {
          console.log(res.data)
        })
        .catch((err) => {
          console.log("获取数据失败" + err)
        })
    })
  }
}
</script>

<style></style>

 

 三、修改App.vue以及路由跳转

(1)删除原本创建项目的helloworld文件,修改App.vue

(2)创建新的文件夹login

(3)创建新的router文件夹

import { createRouter, createWebHashHistory } from 'vue-router'
import { RouteRecordRaw } from 'vue-router'

const routes: RouteRecordRaw[] = [
  {
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    component: () => import('../views/login/login.vue')
  }
]
const router = createRouter({
  routes,
  history: createWebHashHistory()
})

export default router

四、启动项目

npm run serve

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值