vue真实项目还原

news2024/11/17 11:48:25

目录

  • 前言
  • 一,初步了解,确定方向
  • 二,还原数据库
  • 三,启动api网站
  • 四,启动vue的前台和后台
    • 1、vue2的版本依赖踩坑(client_admin)
    • 2、node-sass安装踩坑(client_home)
      • (1)初步尝试
      • (2)离线安装
  • 五,成果

前言

项目名称:基于Python的公考学习交流平台设计与实现
曾几何时,希望学习一下vue的前后端分离的网站架构,于是便“借”了朋友的论文网站来学习。今天终于有空来详细分析一下了,不知道其他的前后端分离网站是不是也是这种架构,不过,学一种算一种吧。

一,初步了解,确定方向

大致浏览一下整个网站,由三部分组成,client_admin和client_home是vue架构的网站,server是python django的框架。
在这里插入图片描述

在这里插入图片描述

猜测可能是vue做前端(网站的前台和后台——client_admin和client_home)、server提供接口(网站的api——5000端口是python的接口网站)实现的

二,还原数据库

django的数据库在setttings.py内,上个phpstudy,启动mysql还原一下。
在这里插入图片描述在这里插入图片描述

三,启动api网站

先打开django,行行行,换个Mysql8
在这里插入图片描述在这里插入图片描述

好启动了(期间有点小问题,不过都顺利的解决了,懂得都懂)
在这里插入图片描述

四,启动vue的前台和后台

“2021年5月22日6:04”学过点vue,别问我为什么记得这么清楚,问就是笔记记的(后面应该还学过点,不过这个记录的是第一次学习的时间,[咳嗽],跑题了,回归正题。)
在这里插入图片描述

看到项目里面的idea文件就知道,可能又是一次自动化之旅了。
在这里插入图片描述

是个锤子,依旧踩坑,idea反正是别想了,直接踩了一堆坑,人都麻了,都是vue的历史版本对应问题。
洋洋洒洒的也花了2-3天的时间解决。
可以很明显的看到,该项目是根据“长盛vue后台”改造的。
参考链接: https://gitee.com/mulanyingxiao/changsheng_project_admin

1、vue2的版本依赖踩坑(client_admin)

首先,编码报错
在这里插入图片描述要么修改package.json
“serve”: “SET NODE_OPTIONS=–openssl-legacy-provider && vue-cli-service serve”,
“build”: “SET NODE_OPTIONS=–openssl-legacy-provider && vue-cli-service build”,
要么降低版本为16
参考https://blog.csdn.net/qiaohuyue/article/details/127753386
所以,选择降低node版本为16.20.2

其次,element-ui版本为2.15.0,而element-ui支持vue2版本。
参考https://blog.csdn.net/qq_44754635/article/details/129903829
所以,尝试修改"vue": “^2.6.14”。

随后,在main.js中采用“import Vue from ‘vue’;”这种导入方式,运行时会报错“export ‘default’ (imported as ‘Vue’) was not found in ‘vue’”,这是因为@vue/cli脚手架版本的问题。
参考https://www.jianshu.com/p/d049028ef771
所以,安装依赖前,不单独执行npm install -g @vue/cli安装全局脚手架。

最后,“Syntax Error: TypeError: Cannot read properties of undefined (reading ‘parseComponent‘)”这个报错意味着vue和vue-complate-compiler的版本不一致。
参考https://blog.csdn.net/weixin_48069658/article/details/130561064
所以,修改"vue-template-compiler": “^2.6.14”。

得到以下配置

{
  "name": "changsheng_project_admin",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "vue-cli-service serve",
    "build": "vue-cli-service build"
  },
  "dependencies": {
    "axios": "^0.21.1",
    "core-js": "^3.6.5",
    "element-ui": "^2.15.0",
    "jquery": "^3.5.1",
    "register-service-worker": "^1.7.1",
    "vue": "^2.6.14",
    "vue-quill-editor": "^3.0.6",
    "vue-router": "^3.2.0",
    "vuex": "^3.4.0",
    "xlsx": "^0.18.5",
    "vue-json-excel": "^0.3.0"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-pwa": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-plugin-vuex": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "vue-template-compiler": "^2.6.14"
  }
}

nmp run dev
在这里插入图片描述在这里插入图片描述

2、node-sass安装踩坑(client_home)

(1)初步尝试

报错
在这里插入图片描述node-sass安装时如果Node版本和package.json的node-sass版本设置的不一致,那么自动下载就会报错。
根据博客(https://blog.csdn.net/xiaoqiaolushang/article/details/128235581)的解决方式时先安装windows-build-tools,不过,它的安装也会出现问题,会一直卡在外网拉取的某个资源上,尝试通过降级(https://www.jianshu.com/p/18a5fb4012c3)即npm --vs2015 install --global windows-build-tools
来解决依旧失败,因为降级之后某些依赖已经不支持了,安装不上去。

(2)离线安装

参考
https://blog.csdn.net/weixin_45993094/article/details/125300565
https://www.cnblogs.com/jackal1234/p/16856039.html
https://github.com/sass/node-sass/releases
针对就版本问题也不惯着它,直接去翻对应的历史release。
“node-sass”: “4.14.1”, “sass-loader”: “8.0.2”,
这就对应了node 14.x的版本,如果使用node16.x会报错

那么,根据参考文章,先找到对应的版本(在解决client_admin的问题后我的node版本为16.20.2)
在这里插入图片描述查看对应的离线版本
node -p “[process.platform, process.arch, process.versions.modules].join(‘-’)”
在这里插入图片描述下载到桌面
在这里插入图片描述设置环境变量
set SASS_BINARY_PATH=C:\Users\qte\Desktop\win32-x64-93_binding.node
执行npm install,成功安装,没有报错。
package.json配置

{
  "name": "client_home",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build"
  },
  "dependencies": {
    "@amap/amap-jsapi-loader": "^1.0.1",
    "axios": "^0.21.1",
    "bootstrap-vue": "^2.21.2",
    "core-js": "^3.6.5",
    "element-ui": "^2.15.0",
    "jquery": "^3.6.0",
    "node-sass": "^6.0.0",
    "vue": "^2.6.14",
    "vue-piczoom": "^1.0.6",
    "vue-quill-editor": "^3.0.6",
    "vue-router": "^3.2.0",
    "vuex": "^3.4.0"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-plugin-vuex": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "less": "^3.0.4",
    "less-loader": "^5.0.0",
    "swiper": "^3.4.2",
    "vue-template-compiler": "^2.6.14"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

nmp run serve
在这里插入图片描述在这里插入图片描述

五,成果

搭建成功后,发现server上确实走了vue的请求
在这里插入图片描述

浏览前台
在这里插入图片描述

小解个密
在这里插入图片描述

进入后台
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1115811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年中国印刷电路板行业研究报告

第一章 行业概况 1.1 行业简介 印刷电路板(Printed Circuit Board, PCB)是电子工业的基石,被誉为“电子产品之母”。它在电子设备中扮演着至关重要的角色,为电路中的各类元器件提供了机械支撑,并确保了电子组件之间的…

驱动实现LED点灯

demo.c #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h> #include <linux/io.h> #include "head.h" //定义三个指针指向映射后的虚拟内存 unsigned int *vir_moder; unsigned …

安装pythonQt报错

在使用命令行pip install PyQt5安装pythonQt5的时候报错。 镜像源有问题&#xff0c;手动设置可用的源 pip install PyQt5 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tool工具 pip install PyQt5-tools -i https://pypi.douban.com/simple 安装成…

CentOS 7 安装 MySQL 8

一、卸载MariaDB MariaDB是MySQL 的一个分支&#xff0c;完全兼容MySQL&#xff0c;包括API和命令行&#xff0c;使之能轻松成为MySQL的代替品。 1、查看版本&#xff08;如果有就卸载&#xff09; rpm -qa|grep mariadbrpm -e --nodeps 文件名 二、下载mysql 1、进入 /usr/…

02_diffusion_models_from_scratch_CN

从零开始的扩散模型 有时&#xff0c;只考虑一些事务最简单的情况会有助于更好地理解其工作原理。我们将在本笔记本中尝试这一点&#xff0c;从“玩具”扩散模型开始&#xff0c;看看不同的部分是如何工作的&#xff0c;然后再检查它们与更复杂的实现有何不同。 我们将学习 …

VSCode使用记录

一、安装 从官网 https://code.visualstudio.com 下载相应安装包 二、扩展&#xff1a;商店 Chinese (Simplified) (简体中文) Language Pack for Visual Studio CodeLive Serveropen in browserGitLens — Git superchargedRemote - SSHPrettier - Code formatterESLintpxt…

【Java 进阶篇】深入了解 Bootstrap 栅格系统

在网页开发中&#xff0c;创建响应式的布局是至关重要的&#xff0c;因为不同设备和屏幕尺寸需要不同的布局来呈现内容。Bootstrap 提供了一个强大的栅格系统&#xff0c;使开发者能够轻松创建适应不同屏幕的网页布局。本文将深入介绍 Bootstrap 栅格系统&#xff0c;面向初学者…

7.7亿参数,超越5400亿PaLM!UW谷歌提出「分步蒸馏」,只需80%训练数据|ACL 2023

LLM不实用&#xff0c;小模型蒸馏才是「现实」的大模型应用路线&#xff0c;全面领先微调技术&#xff01;土豪请无视。。。 大型语言模型虽然性能优异&#xff0c;可以用零样本或少样本提示解决新任务&#xff0c;但LLM在实际应用部署时却很不实用&#xff0c;内存利用效率低…

成集云 | 思迅商慧集成用友T | 解决方案

源系统成集云目标系统 方案介绍 思迅商慧是一款集批次成本、配送复核、自助收银、供应链、加盟管理等于一身的零售管理软件。可以帮助解决客户的运营和管理难题&#xff0c;包括加盟店管理、供应商管理、配送复核管理、商品经营维护、自助收银系统等。 用友T是一款…

ABAP:EXCEL导入导出等功能

源代码: CLASS zcl_excel_tool DEFINITIONPUBLICFINALCREATE PUBLIC .PUBLIC SECTION. *"* public components of class ZCL_EXCEL_TOOL *"* do not include other source files here!!!TYPE-POOLS ole2 .TYPE-POOLS soi .TYPES:BEGIN OF ty_excel,row TYPE c LENG…

Jetpack:013-Jetpack底部导航栏

文章目录 1. 概念介绍2. 使用方法2.1 NavigationBar2.2 NavigationBarItem 3. 示例代码3.1 代码和注释3.2 代码难点3.3 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中弹出菜单相关的内容&#xff0c;本章回中将介绍 底部导航栏。闲话休提&#xff0c;让我们一起Talk …

蓝桥杯刷题单

第一周&#xff0c;链表、栈、队列 0、时间复杂度与空间复杂度&#xff08;补充内容&#xff09; 1、链表的基础知识&#xff1a;单链表 2、反转链表&#xff08; LeetCode 206 &#xff09; 3、相交链表&#xff08; LeetCode 160 &#xff09; 4、合并两个有序链表 &…

AMEYA360:大唐恩智浦DNB1101助力零碳智慧园区储能升级

一、零碳智慧园区诞生的背景 随着全球气候变化问题日益严峻&#xff0c;近年来&#xff0c;各国政府、科学家和环保组织纷纷发出紧急呼吁&#xff0c;敦促采取更多行动来应对这一全球挑战。 2020年9月22日&#xff0c;我国在第75届联合国大会上正式提出2030年实现碳达峰、2060年…

evilhiding:一款好用的shellcode免杀工具

文章目录 evilhiding工具浅析项目地址用法免杀测试声明 evilhiding shellcode loader,bypassav,免杀工具&#xff0c;一款基于python的shellcode免杀加载器 工具浅析 远控条件触发防沙箱花指令干扰loader和shellcode进行fernet加密触发器混淆干扰特征码自动刷新ico图片的md5…

第十五章 I/O输入输出

15,1输入输出流 流是一组有序的数据序列&#xff0c;根据操作的类型&#xff0c;可分为输入流和输出流两种。I/O(Input/Output,(输出)流提供了一条通道程序&#xff0c;可以使用这条通道把源中的字节序列送到目的地。虽然 I/O 流疆盘文件存取有关&#xff0c;但是程序的源和目的…

用Python获取网络数据

用Python获取网络数据 网络数据采集是 Python 语言非常擅长的领域&#xff0c;上节课我们讲到&#xff0c;实现网络数据采集的程序通常称之为网络爬虫或蜘蛛程序。即便是在大数据时代&#xff0c;数据对于中小企业来说仍然是硬伤和短板&#xff0c;有些数据需要通过开放或付费…

【Javascript】声明变量

目录 1.声明和赋值结合 2.声明和赋值分开 3.console.log() 控制台打印 1.打印单个变量 2.打印多个变量 ​编辑 3.打印变量类型 ​编辑 注意&#xff1a; ​编辑 4.直接打印未声明的变量会报错 5.变量提升 变量提升的影响 1.声明和赋值结合 2.声明和赋值分开 3.cons…

《C和指针》(3)数据

问题 假定你正编写一个程序&#xff0c;它必须运行于两台机器之上。这两台机器的缺省整型长度并不相同&#xff0c;一个是16位&#xff0c;另一个是32位。而这两台机器的长整型长度分别是32位和64位。程序所使用的有些变量的值并不太大&#xff0c;足以保存于任何一台机器的缺省…

决策树-入门

1、认识决策树 决策树思想的来源非常朴素&#xff0c;程序设计中的条件分支结构就是if-then结构&#xff0c;最早的决策树就是利用这类结构分割数据的一种分类学习方法 怎么理解这句话&#xff1f;通过一个对话例子 想一想这个女生为什么把年龄放在最上面判断&#xff01;&a…

【六:pytest框架介绍】

常见的请求对象requests.get()requests.post()requests.delete()requests.put()requests.request()常见的响应对象reprequests.request()//返回字符串格式数据print(req.text)//返回字节格式数据print(req.content)//返回字典格式数据print(req.json)#状态码print(req.status_c…