vue框架技术相关概述以及前端框架整合

vue框架技术概述及前端框架整合

1 node.js

介绍:什么是node.js
Node.js就是运行在服务端的JavaScript。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎。

作用

1 运行java需要安装JDK,而Node.js是JavaScript的运行环境,用于执行JavaScript代码的环境。
2 后端服务可以使用Tomcat服务器来运行,前端可以使用Node.js模拟出服务器的效果来运行。

浏览器的内核组成

1.DOM渲染引擎
2.js解析器(js引擎)
浏览器中有内核,内核中有js引擎,js引擎可以运行js,所以使用node.js可以脱离浏览器环境来执行js程序。

2 NPM

介绍

NPM全称是Node Package Manager,是Node.js包管理工具,也是node.js的包管理工具,相当于前端的maven。node.js已经集成了npm工具。

3 前端快速构建框架使用

(1)vue-element-admin

它是基于Element-ui与Vue的套后台管理系统集成解决方案。(里面功能有些多)
GitHub地址:https://github.com/PanjiaChen/vue-element-admin

(2)vue-admin-template

它是vue-element-admin后台管理系统的极简版,可作为基础模版进行二次开发。
GitHub地址:https://github.com/PanjiaChen/vue-admin-template
(如果极简版有些功能没有,可以从vue-element-admin的源码中去查找)

(3)Element-ui 是饿了么前端出品的基于 Vue.js 的后台组件库,方便程序员进行页面快速布局和构建。

官网:https://element.eleme.cn/#/zh-CN

4 vue框架的前端项目介绍

(1)打开前端项目,打开终端执行命令(下载相关的依赖包)

  ```shell
  npm install
  ```
# 启动前端项目
npm run dev(指定对应的环境)

使用npm下载完依赖包后,会出现一个node_modules文件夹(一般想对大一些)。(这个进行项目管理的时候,不需要提交,其他人拉下项目后,自己下载依赖包即可)

(2)改造项目信息(这些信息最好可以修改)

<1> 修改项目中的src/settings.js文件信息
# 对应着网页左上角的那个小字体
title:自己的项目     

在这里插入图片描述

<2> 修改 src/main.js 文件信息
 ## 修改第7行,末尾的 en 改为 zh-CN 系统变为使用中文语言环境,例如:日期时间组件
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
<3> 修改前端项目的端口号(默认是9528端口)修改vue.config.js 文件
// ## 第16行 9528端口
const port = process.env.port || process.env.npm_config_port || 9528                               // dev port

<4> 如果不习惯Eslint语法检查工具可关闭:.eslintignore 文件(在多编写空格 tab以及//紧接着增加注释时会报红线)

需要在文件最后一行加上*号

build/*.js
src/assets
public
dist
*
<5> 修改访问后端接口地址的.env.development文件信息

通常指向nginx的地址

# base api  访问后端接口路径 开发环境 -- 实际上是前端发往windows的nginx中的  因为微服务有多个 前端只能发往一个端口地址(采用中间代理)
# VUE_APP_BASE_API = '/dev-api'  原先是这个  
VUE_APP_BASE_API = 'http://localhost:9001'               # 9001是本地nginx的端口号--里面有反向代理
<6> 注意api文件夹中的user.js文件信息
<7> 注意跨域问题(1个请求另一个时,只要协议、域名、端口号任意一个不一致,就会出现跨域问题)

如:http://locahost:9527前端项目访问http://localhost:8080后端服务,由于端口不一致,会导致跨域问题。(后期可通过网关来解决)前后端不分离的项目不需要考虑跨域问题。

可在controller层添加@CrossOrign解决。

<8> 配置路由相关信息(修改src/router/index.js文件)

在这里插入图片描述

export const constantRoutes = [
  {
    path: '/login',
    component: () => import('@/views/login/index'),  //跳到登录页面
    //当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1
    hidden: true
  },

  {
    path: '/404',
    component: () => import('@/views/404'), //找不到页面,左边栏不会出现
    hidden: true
  },

  {
    //登录成功之后 将路由推到这里/
    path: '/',
    component: Layout,  //Layout表示在左边的
    redirect: '/dashboard',
    children: [{
      path: 'dashboard',
      name: 'Dashboard',
      component: () => import('@/views/dashboard/index'),
      meta: { title: 'Dashboard', icon: 'dashboard' }
    }]
  },
  //多级菜单路由 -- 设置系统多级菜单   下面的都是没有用的 改成自己的
  {
    path: '/pms',   //对应文件的路径  前端对应着nginx中配置的东西 如:点击这个路由 localhost:9001/pms  会自动根据pms来转发到对应的微服务中
    component: Layout,  //表示主布局的意思
    name: 'pms',  //每个路由的name不能相同
    meta: {title: '生产管理系统'},  //左边点击的菜单名字        **主菜单名字 1级菜单**
    children: [
      {
        path: '/proddisp',   //根据这个路径 不是页面就在下面加上<router-view></router-view>      **2级菜单**
        component: () => import('@/views/pms/proddisp'),    
        name: 'proddisp',
        meta: {title: '生产调度'},  //下面有目录 不是页面 需要index.vue指定路由
        children: [
          {
            path: '/dispordman',
            component: () => import('@/views/pms/proddisp/dispordman'),  // **3级菜单**
            name: 'dispordman',
            meta: {title: '调度指令管理'},   //下面有目录 不是页面 需要index.vue指定路由
            alwaysShow: true,  //显示所有子集
            children: [
              {
                path: '/dispord/list',  //对应页面之间的跳转
                name: 'PmsDispOrdList',
                component: () => import('@/views/pms/proddisp/dispordman/dispord/list'),   //是页面  对应着的是vue中的文件路径(新建就可以)
                meta: {title: '调度指令库管理', icon: 'table'}  
              },
              {
                path: '/dispordrls/list',
                name: 'PmsDispOrdRlsList',
                component: () => import('@/views/pms/proddisp/dispordman/dispordrls/list'), //是页面 下划线就没有了
                meta: { title: '调度指令管理', icon: 'table' }
              },
              {
                path: '/dispord/update/:id',    // 对应修改页面中的this.$route.params.id
                name: 'PmsDispOrdUpdate',
                component: () => import('@/views/pms/proddisp/dispordman/dispord/update'),
                meta: {title: '编辑调度指令库',noCache: true},
                hidden: true   //修改页面隐藏 不在菜单栏出现
              }
            ]
          }
        ]
      }
    ]
  },
<9> 创建router-view

在 /pms/proddisp 2级目录下创建index.vue文件
在/pms/proddisp/dispordman 3级目录下创建index.vue文件
在这里插入图片描述
index.vue中写上以下信息:

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

(3)目录结构

├── build                      # 构建编译
├── mock                       # 项目mock 模拟数据
├── public                     # 静态资源
│   │── favicon.ico            # logo
│   └── index.html             # 基础模板
├── src                        # 项目源代码
│   ├── api                    # 各种接口,包含所有请求
│   ├── assets                 # 图片字体等静态资源
│   ├── components             # 全局公用组件,非公共组件在各自页面下维护
│   ├── icons                  # 矢量图标库
│   ├── layout                 # 布局
│   ├── router                 # 路由
│   ├── store                  # 全局存储管理
│   ├── styles                 # 全局样式
│   ├── utils                  # 全局公用工具,非公共工具在各自页面下维护
│   ├── views                  # 所有页面
│   ├── App.vue                # 项目顶层组件
│   ├── main.js                # 项目入口文件 加载组件 初始化等
│   └── permission.js          # 认证入口
├── tests                      # 测试
├── .env.xxx                   # 环境变量配置
├── .eslintrc.js               # eslint 配置项
├── .babel.config.js           # 语法转换器配置
├── package.json               # 项目信息和依赖配置
└── vue.config.js              # vue-cli 配置

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

玩转大语言模型——使用langchain和Ollama本地部署大语言模型

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…

亚博microros小车-原生ubuntu支持系列:15 激光雷达巡逻

一 TF坐标转换 ros2 -5.1 坐标变化工具介绍_ros怎么发布坐标变化-CSDN博客 ros2笔记-5.3 C中地图坐标系变换_c变换坐标系-CSDN博客 header:stamp:sec: 1737893911nanosec: 912000000frame_id: odom_frame child_frame_id: base_footprint pose:pose:position:x: 0.053831271…

C++并发编程指南06

文章目录 4.4 简化代码与同步工具同步工具作为构建块 4.4.1 使用Future的函数化编程函数化编程简介C支持函数化编程 快速排序 - FP模式快速排序串行版快速排序并行版 spawn_task函数结论快速排序 - 串行版快速排序 - 并行版spawn_task函数使用 spawn_task 实现并行快速排序详细…

ios swift画中画技术尝试

继上篇&#xff1a;iOS swift 后台运行应用尝试失败-CSDN博客 为什么想到画中画&#xff0c;起初是看到后台模式里有一个picture in picture&#xff0c;去了解了后发现这个就是小窗口视频播放&#xff0c;方便用户执行多任务。看小窗口视频的同时&#xff0c;可以作其他的事情…

C++,STL 六大组件:容器、迭代器、算法、函数对象、适配器、分配器

文章目录 引言一、容器&#xff08;Containers&#xff09;主要分类 二、迭代器&#xff08;Iterators&#xff09;三、算法&#xff08;Algorithms&#xff09;四、函数对象&#xff08;Functors&#xff09;五、适配器&#xff08;Adapters&#xff09;六、分配器&#xff08…

STM32项目分享:智能鱼缸

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 七、包含内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; STM32智能鱼缸/水族箱 &#xff08;资料分享见文末…

基于MinIO的对象存储增删改查

MinIO是一个高性能的分布式对象存储服务。Python的minio库可操作MinIO&#xff0c;包括创建/列出存储桶、上传/下载/删除文件及列出文件。 查看帮助信息 minio.exe --help minio.exe server --help …

14-6-1C++STL的list

(一&#xff09;list容器的基本概念 list容器简介&#xff1a; 1.list是一个双向链表容器&#xff0c;可高效地进行插入删除元素 2.list不可以随机存取元素&#xff0c;所以不支持at.(pos)函数与[ ]操作符 &#xff08;二&#xff09;list容器头部和尾部的操作 list对象的默…

汽车网络信息安全-ISO/SAE 21434解析(中)

目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…

C#分页思路:双列表数据组合返回设计思路

一、应用场景 需要分页查询&#xff08;并非全表查载入物理内存再筛选&#xff09;&#xff0c;返回列表1和列表2叠加的数据时 二、实现方式 列表1必查&#xff0c;列表2根据列表1的查询结果决定列表2的分页查询参数 三、示意图及其实现代码 1.示意图 黄色代表list1的数据&a…

YOLOv8源码修改(4)- 实现YOLOv8模型剪枝(任意YOLO模型的简单剪枝)

目录 前言 1. 需修改的源码文件 1.1添加C2f_v2模块 1.2 修改模型读取方式 1.3 增加 L1 正则约束化训练 1.4 在tensorboard上增加BN层权重和偏置参数分布的可视化 1.5 增加剪枝处理文件 2. 工程目录结构 3. 源码文件修改 3.1 添加C2f_v2模块和模型读取 3.2 添加L1正则…

【Block总结】DynamicFilter,动态滤波器降低计算复杂度,替换传统的MHSA|即插即用

论文信息 标题: FFT-based Dynamic Token Mixer for Vision 论文链接: https://arxiv.org/pdf/2303.03932 关键词: 深度学习、计算机视觉、对象检测、分割 GitHub链接: https://github.com/okojoalg/dfformer 创新点 本论文提出了一种新的标记混合器&#xff08;token mix…

设计模式Python版 原型模式

文章目录 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对…

一文讲解Java中的BIO、NIO、AIO之间的区别

BIO、NIO、AIO是Java中常见的三种IO模型 BIO&#xff1a;采用阻塞式I/O模型&#xff0c;线程在执行I/O操作时被阻塞&#xff0c;无法处理其他任务&#xff0c;适用于连接数比较少的场景&#xff1b;NIO&#xff1a;采用非阻塞 I/O 模型&#xff0c;线程在等待 I/O 时可执行其…

使用 postman 测试思源笔记接口

思源笔记 API 权鉴 官方文档-中文&#xff1a;https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md 权鉴相关介绍截图&#xff1a; 对应的xxx&#xff0c;在软件中查看 如上图&#xff1a;在每次发送 API 请求时&#xff0c;需要在 Header 中添加 以下键值对&a…

AWTK 骨骼动画控件发布

Spine 是一款广泛使用的 2D 骨骼动画工具&#xff0c;专为游戏开发和动态图形设计设计。它通过基于骨骼的动画系统&#xff0c;帮助开发者创建流畅、高效的角色动画。本项目是基于 Spine 实现的 AWTK 骨骼动画控件。 代码&#xff1a;https://gitee.com/zlgopen/awtk-widget-s…

新年手搓--本地化部署DeepSeek-R1,全程实测

1.环境准备安装ollma ollma官网链接: Download Ollama on Linux ubuntu命令行安装: curl -fsSL https://ollama.com/install.sh | sh 选择运行模型,用7b模型试一下(模型也差不多5G): ollama run deepseek-r1:7b 运行qwen: ollama run qwen2.5:7b 2.为方便运行…

STM32使用VScode开发

文章目录 Makefile形式创建项目新建stm项目下载stm32cubemx新建项目IED makefile保存到本地arm gcc是编译的工具链G++配置编译Cmake +vscode +MSYS2方式bilibiliMSYS2 统一环境配置mingw32-make -> makewindows环境变量Cmake CmakeListnijia 编译输出elfCMAKE_GENERATOR查询…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.21 索引宗师:布尔索引的七重境界

1.21 索引宗师&#xff1a;布尔索引的七重境界 目录 #mermaid-svg-Iojpgw5hl0Ptb9Ti {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Iojpgw5hl0Ptb9Ti .error-icon{fill:#552222;}#mermaid-svg-Iojpgw5hl0Ptb9Ti .…

毕业设计--具有车流量检测功能的智能交通灯设计

摘要&#xff1a; 随着21世纪机动车保有量的持续增加&#xff0c;城市交通拥堵已成为一个日益严重的问题。传统的固定绿灯时长方案导致了大量的时间浪费和交通拥堵。为解决这一问题&#xff0c;本文设计了一款智能交通灯系统&#xff0c;利用车流量检测功能和先进的算法实现了…