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
    评论
要开发一个基于Vue3、TypeScriptNode和MySQL的个人博客,可以参考以下步骤: 1. 首先,你可以参考中的文章,了解如何使用Vue3和TypeScript搭建前端界面。这篇文章提供了一个非常详细的总览,包括项目的结构和要点。 2. 接下来,你可以在GitHub上找到一个示例项目,该项目是基于Vue3和TypeScript的前端博客部分。你可以根据该项目的结构和代码实现自己的个人博客前端。 3. 对于后端部分,你可以使用Node.js和Express框架来搭建一个RESTful API。你可以参考中的示例项目,该项目提供了一个使用Express和MySQL构建的简单博客后端。你可以根据该项目的结构和代码实现自己的个人博客后端。 4. 在数据库方面,你可以使用MySQL作为存储数据的后端。你可以根据个人博客的需求设计数据库表结构,并使用Node.js和MySQL连接库来实现数据的增删改查等操作。 综上所述,你可以通过使用Vue3、TypeScriptNode和MySQL来开发个人博客。首先搭建前端界面,然后使用Node和Express搭建后端API,并使用MySQL作为数据库存储数据。通过参考、和中的文章和示例项目,你可以更好地理解和实现这个过程。祝你成功!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3+TS+Node打造个人博客(后端架构)](https://blog.csdn.net/weixin_41196185/article/details/123415200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值