用Vue+Nodejs+Axios+express+element-plus连接Sqlserver做一个动态网页demo


一、主要工具

  • Vue做前端页面
  • Nodejs做服务器后端(Nodejs是一个JS的运行环境,可以让JS像其它后端语言一样,脱离浏览器做一些事情,比如读写文件、创建http服务器等)
  • Axios是一个网络请求库,用于发送http请求,可以用于浏览器和nodejs
  • express基于Nodejs的JS服务端开发框架
  • element-plus,DOM元素美化。

二、流程

2.1. 安装Node

首先得安装Vue(我这边是Vue3),推荐按照Vue官网的步骤来。在装Vue之前,你应该已经安装好了Nodejs,然后通过Nodejs自带的npm去建立Vue工程。(这里安装node其实是为了下一步Vue工程的构建,而不是为了写后端服务器;若你以CDN的方式使用Vue,这步是不需要装node的,不过后面写后端还得装,所以建议一步到位)

2.2. 新建Vue工程并启动

接着在命令行运行以下命令,

npm init vue@latest

它会安装并执行Vue官方项目脚手架工具 create-vue,接着会让你做一些项目配置选择,若你不确定选哪个,直接按回车选择No即可。
在这里插入图片描述
所有选项选完后,工程目录创建,你得到的目录结构如下:
在这里插入图片描述

package.json


现代新建一个JS项目往往是从package.json开始的,就像VS中有.csproj,Qt中有.pro一样,相当于是一个工程管理文件。
不过该文件中要填充的字段太多,所以npm官方提供了 npm init 命令帮助我们快速初始化 package.json 文件,根据你选的选项不同,文件中的字段可能有所不同,所以这一步实际上就是帮你把Vue的工程目录创建出来并且往package.json中填充一些字段以供后续安装依赖。

项目创建后,可以通过以下步骤安装依赖并启动开发服务器:
在这里插入图片描述
有三条命令,我们分开讲,

cd testVue

cd(Change Directory)就是一般的命令行命令,用于切换到新建的Vue工程目录。

npm install

前面说过,npm init 是初始化工程目录并填充package.json的,这里的npm install则是安装依赖的,根据package.json中的内容,从npm服务器上将对应版本的依赖文件下载到node_modules目录下,执行之后可以看到添加包的提示,以及工程目录发生了变化:
在这里插入图片描述
在这里插入图片描述

npm run dev

用于启动开发服务器。
在这里插入图片描述
到这里为止,你已经可以通过浏览器访问默认页面了。
在这里插入图片描述
但此时还是仅限于前端的东西。

2.3. 前后端通信

要做一个动态网页,光有前端UI是不够的,还得与后端交互,以及有数据持久存储。仅仅用Vue是无法做出那样的网页的,所以需要一门后端/服务端语言,而在Nodejs的加持下,JS就可以实现那样的效果,去访问更多的计算机资源。

  • 问:那什么是后端呢?
    答:后端的主要工作是提供数据访问服务,使前端可以通过调用后端服务对数据进行增删改查。
  • 问:前端就不能提供数据访问服务吗?为什么一定要后端呢?
    答:因为这里的系统指网页系统。网页嘛,大家都知道往往是部署在开放网络中的,环境复杂,用户也可能比较多。前端嘛,可以狭隘地理解为你看到的浏览器上呈现出来的界面。如果前端可以绕开服务端程序,直接请求数据库,在安全性和性能方面都可能带来隐患。比如说,我制造大量用户访问数据库,如果没有服务端程序的过滤、分配、缓冲,可能会使数据库瘫痪。

所以我们现在需要这样一个服务端程序,它能响应前端的各种请求。当然这并不意味着我得新建一个工程,专门去开发服务端应用。事实上,如果你写过局域网socket通信程序的话,应该知道它是分服务端和客户端的,其实就是两个代码文件,一个发起连接,一个监听,编译好之后分别执行。

2.3.1. 修改前端

为了简化整个流程,只需要保留核心部分代码,先修改Vue中的App.vue,保留一个简单的交互控件即可,这边我只留了一个按钮控件,

<script>
export default {
  data() {

  },
  methods:{
    PrintInfo() {
      alert("xxxx");
    }
  }
}
</script>

<template>
  <main>
    <button @click="PrintInfo">点击显示</button>
  </main>
</template>

现在默认页面已经变成了一个按钮,点击后会弹出一个建议警示框,
在这里插入图片描述

2.3.2. 用axios来发起请求

前端发起请求,需要用到axios插件,先安装axios,
在这里插入图片描述
然后再次修改App.vue中的代码,

<script>
import axios from "axios"
export default {
  data() {

  },
  methods:{
    PrintInfo() {
      axios.get('http://localhost:8002/info')
      .then(res => {
        alert(res.data);
      });
    }
  }
}
</script>

客户端的代码,到这里就完毕了,我们点击按钮后,会向指定路径发起请求,然后在弹出框中打印出请求返回的数据。

2.3.3. 创建服务端程序

现在我们需要写服务端程序,用于监听请求并返回数据,
这边不用太复杂,在Vue工程目录下,新建一个server文件夹,里面添加服务端相关的代码,
在这里插入图片描述
server目录下添加一个名为server.js的文件,里面放入以下代码,

//1.导入模块
const express = require('express')
 
//2.创建服务器
let server = express()
server.use(express.urlencoded()) //中间件要写在启动文件里面
 
const cors = require('cors')
server.use(cors())
 
const user = require('./api/user.js')
 
server.use('/', user)
 
//3.开启服务器
server.listen(8002, () => {
    console.log('服务器已启动,端口号8002')
})

这边用到了几个新的插件,express、cors,都需要用npm装一下。

接着,server目录下新建一个api文件夹,并在里面添加一个名为user.js的文件,添加以下代码,

//user.js
const express = require('express');
const db = require('mssql');
const router = express.Router();
 
/* GET home page. */
router.get('/info', function (req, res, next) {
    console.log('hello world');
    res.send('hello world');
});
module.exports = router;

2.3.4. 测试前后端通信

现在前后端的测试代码已经准备好了,先确保开启前端服务器(npm run dev)。接着,再开启一个命令行窗口,切换到Vue工程下的server目录下,运行 node server.js 。
在这里插入图片描述
此时服务端程序已启动,再点击前端网页的按钮,就能接收到服务器响应返回的“hello world”,这说明前后端通信完成。
在这里插入图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【资源说明】 该项目是个人毕设项目源码,评审分达到95分,都经过严格调试,确保可以运行!放心下载使用。 该项目资源主要针对计算机、自动化等相关专业的学生或从业者下载使用,也可作为期末课程设计、课程大作业、毕业设计等。 具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现类似其他功能。 基于vue2+Mysql+nodejs+express+element-ui的前后端分离图书管理系统 使用步骤: 本地运行方法  1.新建一个名为books_manage_system的数据库  2.将node目录下books_manage_system.sql文件导入到该数据库中,  3.在node/sql/booksystem.js文件内根据自己的数据库情况进行修改  4.运行后台  5.运行前台  6.打开提示的网址既可运行  7.如需通过ip地址访问,请在vue.config.js文件中修改配置 打包运行,及线上运行方法:  1.将根目录下books_manage_system.sql文件导入到数据库中  2.在node/sql/booksystem.js文件内根据自己的数据库情况进行修改  3.在books文件夹和node文件夹下分别执行npm install安装插件  4.注释掉books/src/network/request.js文件中的第4行代码  5.在books文件夹下执行npm run build打包前端文件,打包完成后将该目录新增的dist文件夹复制到node文件夹中  6.打包完成后将dist文件夹复制到node文件夹下  7.将node文件夹下baseURL.js文件中的ip地址,修改为自己电脑的IP,否则线上运行时,会导致部分图片无法访问  8.在node文件夹下执行node index.js  9.之后在处于同一网络中的设备下,输入ip及端口号即可访问页面

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值