当前位置: 首页 > article >正文

Vue框架2(vue搭建方式2:利用脚手架,ElementUI)

一.引入vue第二种搭建方式

在以前的前端项目中,一个项目需要多个html文件实现页面之前的切换,如果页面中需要依赖js或者css文件,那么我们就需要在多个html文件中都需要导入vue.js文件,太过繁琐.

现在前端开发都采用单页面结果,一个项目中只有一个html文件

其他不同的内容都写在.vue文件中,每个vue文件就是一个组件,我们会为每个组件配置一个访问的地址,通过地址访问组件,在唯一的html文件中切换不同的组件

用图来展示项目开发中的单页结构:

正如图中所写,每一个html文件就相当于一个画布,我们只需要通过组件的地址,在此html文件中使用不同的组件,通过此方式实现只使用一个html文件来实现不同的页面,以及页面的切换. 

此方法的好处是:配置只需要导入一次即可,导入依赖也只需要一次

二. 使用vue-cli搭建项目

vue-cli 是官方提供的一个脚手架,用于快速生成一个vue的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,使我们的开发更加的快速.

主要功能:

  • 统一的目录结构
  • 本地调试
  • 热部署
  • 单元测试
  • 集成打包上线

需要的环境:

node.js

简单来说Node.js是一个前端js运行环境(类似于java后端开发的jdk)或者说是一个JS语言解释器.

npm(npm node package manager)

npm是Node.js包管理工具,用来安装各种Node.js的扩展.npm是JavaScript 的包管理工具,也是世界上最大的软件注册表.有超过60万个JavaScript 代码包可供下载.npm 让 JavaScript开发人员可以轻松地使用其他开发人员共享的代码.

搭建vue-cli单页项目的步骤

1.首先我们需要安装node.js前端js运行环境到我们的电脑上

我们可以在node.js官方网站上进行下载并安装

2.使用HbuilderX快速创建一个vue-cli项目

创建完后的vue-cli项目会存在很多目录,下面是这些目录与目录中文件的解释

注意:  package-lock.json这个文件目录我们现在不使用,所有这里直接删掉即可 

3.创建成功后,在命令行窗口启动项目

注意打开的命令窗口的项目名一定要是当前的项目名

在命令行窗口输入npm run serve

输入后,运行成功后会出现访问地址

在命令行中ctrl+c 停止服务

npm中的常用指令 

1.npm install 用于安装各种依赖,在网上下载别人的项目时,项目中没有node-modules时就需要我们                      通过该指令下载各种所需的依赖

2.npm run serve 启动前端项目,在终端里面ctrl+c 停止服务

3.npm run build 打包项目

三. 组件路由

在单页面项目中,我们需要实现多个页面的切换,即多个组件的切换.这时我们就需要通过组件路由实现组件的切换.

概述

vue router 是 Vue.js官方的路由管理器.它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌.

组件路由的搭建(以及基础用法)

1.安装组件路由的依赖库

vue-router 是一个插件包,所以我们还是需要用 npm 来进行安装的.
打开命令行工具,进入你的项目目录,输入命令npm i vue-router@3.5.3 

在下载完成后,在package.json会出现vue-router对应的版本 

注意:  我们在下载依赖库或补全依赖时都会生成一个package-lock.json文件,我们需要删除它,我们在当前阶段用不到它.

2.在src目录下创建一个router的文件夹,在文件夹中创建一个index.js文件 

在index.js文件中的代码:

import Vue from 'vue';  /*导入vue*/
import router from 'vue-router'; /* 导入路由 *//* 导入我们自己创建的组件 */import Index from "../views/Index.vue"
import Login from "../views/Login"//可以不需要文件后缀名
import Reg from "../views/Reg"Vue.use(router);
//创建vue-router对象
let rout = new router({
routes: [{path: '/index',//为组件定义访问地址name: 'index',//命名component: Index//指定组件},{path: '/login',component: Login},{path: '/reg',component: Reg}]});
//导出路由对象
export default rout;

其中需要注意的是我们自己所添加的组件名首字母是大写,在导入我们创建的组件时需要注意字母的大写.

注意:  我们通常在src目录下创建一个views文件夹,在此文件夹中创建我们自己的组件

<template><!-- 只能有一个根标签,组件内所有内容都写在根标签中 --><div>首页{{message}}<router-link to="/login">登录</router-link><router-link to="/reg">注册</router-link></div>
</template><script>export default{//定义数据data() {return{message:"hello index"}},methods:{//定义函数},mounted() {//生命周期函数}}
</script><!-- 写组件相关的样式 -->
<style>
</style>

这时我们自己创建的一个组件的代码基本格式 

3.使用路由

1.在组件的<template>根标签中添加此标签,类似于超链接,点击即可切换指定地址的组件

<router-link to="/index">首页</router-link>
<router-link to="/content">内容</router-link>

2.App.vue文件的<template>根标签中添加下方标签

<router-view></router-view>

该组件用于显示指定组件内容

注意:   App.vue文件的完整代码以及解释

<template><!-- 默认组件 --><div id="app"><!--显示指定组件内容 --><router-view></router-view></div>
</template><script>
export default {name: 'app',
}
</script>

 4.在main.js中配置组件路由

import Vue from 'vue'//导入vue.js
import App from './App.vue'//导入默认组件//导入路由组件
import router from './router/index.js'
Vue.use(router);Vue.config.productionTip = false/* 创建一个唯一的vue对象 */
new Vue({render: h => h(App),//项目启动时,默认访问APP.vue组件router,
}).$mount('#app')//类似el:"#app"

 这里只演示组件路由的基础用法,更高阶的用法会在后续的学习中演示 

四.更换npm镜像地址,下载依赖库或补全依赖库更快

我们在补全依赖库,或下载安装组件路由的依赖库时,都是从国外的网站中下载的,我们可以更换npm镜像地址,下载速度更快一些.

这里我参考的博客是国内npm源镜像(npm加速下载) 指定npm镜像_npm国内镜像源-CSDN博客

打开命令行工具,进入你的项目目录,输入命令npm config get registry 可查看当前的镜像源

使用那个镜像,只需要 npm config set registry + 对应的镜像网址就好了(镜像源的网址参考上方的博客)

五. ElementUI

Element是一套为开发者,设计师和产品经理准备的基于Vue 2.0 的桌面端组件库.

ElementUI提供了丰富的UI组件,可以根据用户选择进行使用,大大提升了开发效率.

安装ElementUI

1.打开命令行窗口,进入项目目录,输入指令:npm i element-ui -S 安装ElementUI依赖库.

此处即为ElementUI的版本号 

2.在 main.js中写入以下内容: 
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
new Vue({
render: h => h(App),
}).$mount('#app');

下方是在我的项目中的main.js文件添加路由组件以及ElementUI组件 

import Vue from 'vue'//导入vue.js
import App from './App.vue'//导入默认组件//导入路由组件
import router from './router/index.js'
Vue.use(router);//导入elementui组件
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);Vue.config.productionTip = false/* 创建一个唯一的vue对象 */
new Vue({render: h => h(App),//项目启动时,默认访问APP.vue组件router,
}).$mount('#app')//类似el:"#app"

具体组件的使用请参考API文档

相关文章:

Vue框架2(vue搭建方式2:利用脚手架,ElementUI)

一.引入vue第二种搭建方式 在以前的前端项目中,一个项目需要多个html文件实现页面之前的切换,如果页面中需要依赖js或者css文件,那么我们就需要在多个html文件中都需要导入vue.js文件,太过繁琐. 现在前端开发都采用单页面结果,一个项目中只有一个html文件 其他不同的内容都写…...

mac 设置cursor (像PyCharm一样展示效果)

一、注册 Cursor - The AI Code Editor 二、配置Python环境 我之前使用pycharm创建的python项目&#xff0c;以及创建了虚拟环境&#xff0c;现在要使用cursor继续开发。 2.1 选择Python 虚拟环境 PyCharm 通常将虚拟环境存储在项目目录下的 venv 或 .venv 文件夹中&#xf…...

SpringCloudAlibaba微服务架构

技术架构图 SpringCloudAlibaba微服务架构 说明&#xff1a; 1.1、采用SpringCloudAlibaba分布式微服务架构&#xff0c;使用Nginx做代理&#xff0c;服务治理使用Nacos组件&#xff0c;Gateway网关做权限验证、路由、过滤。 1.2、Redis做消息缓存&#xff0c;包括数据大屏、数…...

Java高级 | 【实验三】Springboot 静态资源访问

隶属文章&#xff1a; Java高级 | &#xff08;二十二&#xff09;Java常用类库-CSDN博客 系列文章&#xff1a; Java高级 | 【实验一】Spring Boot安装及测试 最新-CSDN博客 Java高级 | 【实验二】Springboot 控制器类相关注解知识-CSDN博客 目录 一、Thymeleaf 1.1 是什么&…...

C语言_预处理详解

1. 预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的 1 __FILE__ //进行编译的源文件 2 __LINE__//文件当前的行号 3 __DATE__ //文件被编译的日期 4 __TIME__//文件被编译的时间 5 __STDC__//如果编译器遵循ANSI…...

将前后端分离版的前端vue打包成EXE的完整解决方案

将若依前后端分离版的前端打包成EXE的完整解决方案 将若依前后端分离版的Vue前端打包成Windows可执行文件(.exe),同时保持与后端API的通信,需要使用Electron框架来实现。下面是详细的步骤和解决方案。 一、准备工作 1. 环境要求 Node.js (推荐v16+)npm 或 yarn若依前后端分…...

物联网协议之MQTT(一)基础概念和设备

前言&#xff1a; 本文内容均以实战出发&#xff0c;像MQTT概念这种基础内容建议大家自行百度。 推荐资料&#xff1a; mica-mqtt文档 一、MQTT简单介绍 作为当今物联网的主流协议&#xff0c;MQTT的使用范围非常广&#xff0c;如果你想了解甚至是从事物联网行业&#xff0c;…...

「Java教案」Java程序的构成

课程目标 1&#xff0e;知识目标 能够按照Java标识符的命名规则&#xff0c;规范变量的命名。能够区分Java中的关键字与保留字。能够对注释进行分类&#xff0c;根据注释的用途合理的选择注释方式。 2&#xff0e;能力目标 能编写符合规范的标识符。能识别Java中的关键字和…...

还原Windows防火墙

还原Windows防火墙 1. 背景2. 为何“还原”完胜“关闭”?三大核心优势3. 还原防火墙默认值操作步骤4. 还原防火墙时,系统背后的工作​5. 需要还原防火墙场景一招拯救混乱网络!还原Windows防火墙,找回你的“安全速度”​1. 背景 你是否曾因一时误操作关闭了Windows防火墙?是…...

区块链可投会议CCF B--EDBT 2026 截止10.8 附录用率

Conference&#xff1a;EDBT: 29th International Conference on Extending Database Technology CCF level&#xff1a;CCF B Categories&#xff1a;数据库&#xff0f;数据挖掘&#xff0f;内容检索 Year&#xff1a;2026 Conference time&#xff1a;24th March - 27th…...

经典ReLU回归!重大缺陷「死亡ReLU问题」已被解决

来源 &#xff5c; 机器之心 在深度学习领域中&#xff0c;对激活函数的探讨已成为一个独立的研究方向。例如 GELU、SELU 和 SiLU 等函数凭借其平滑梯度与卓越的收敛特性&#xff0c;已成为热门选择。 尽管这一趋势盛行&#xff0c;经典 ReLU 函数仍因其简洁性、固有稀疏性及…...

在VSCode中开发一个uni-app项目

创建项目 使用命令行工具&#xff08;例如 vue-cli&#xff09;来创建一个新的 uni-app 项目。 创建以JavaScript开发的工程 npx degit dcloudio/uni-preset-vue#vite my-vue3-project //或者 npx degit dcloudio/uni-preset-vue#vite-alpha my-vue3-project创建以TypeScript…...

quic为什么没有被大规模应用?

一、成本 将应用程序从 HTTP/2 迁移到 HTTP/3&#xff0c;或从 TCP 迁移到 UDP 需要付出一定的努力。它需要将整个应用层实现和传输层实现转换到UDP&#xff0c;并在服务器端和客户端构建一个全新的解决方案。对于资源有限的小型流媒体供应商来说&#xff0c;这是一个不小的挑…...

Delft3D软件介绍及建模原理和步骤;Delft3D数值模拟溶质运移模型建立;地表水环境影响评价报告编写思路

&#x1f4da; 教程以地表水数值模拟软件 Delft3D 4.03.00 的操作为核心内容&#xff0c;系统涵盖地表水水动力建模、基础资料获取、边界条件设定、模型率定与验证以及数据分析处理等关键环节。通过全面讲解&#xff0c;学员将掌握地表水数值模拟的全过程实际操作技术。 &…...

书籍在其他数都出现k次的数组中找到只出现一次的数(7)0603

题目 给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了1次&#xff0c;其他的数都出现了k次&#xff0c;请返回只出现了1次的数。 解答&#xff1a; 对此题进行思路转换&#xff0c;可以将此题&#xff0c;转换成k进制数。 k进制的两个数c和d&#xff0c;…...

开源模型应用落地-OpenAI Agents SDK-集成Qwen3-8B-function_tool(二)

一、前言 在人工智能技术迅猛发展的今天,OpenAI Agents SDK 为开发者提供了一个强大的工具集,用于构建基于 Python 的智能代理应用。这些代理可以执行从简单任务到复杂决策的一系列操作,极大地提升了应用程序的智能化水平。 通过 OpenAI Agents SDK,可以利用 Python 编程语…...

Python - 爬虫;Scrapy框架之插件Extensions(四)

阅读本文前先参考 https://blog.csdn.net/MinggeQingchun/article/details/145904572 在 Scrapy 中&#xff0c;扩展&#xff08;Extensions&#xff09;是一种插件&#xff0c;允许你添加额外的功能到你的爬虫项目中。这些扩展可以在项目的不同阶段执行&#xff0c;比如启动…...

Spark实战能力测评模拟题精析【模拟考】

1.println(Array(1,2,3,4,5).filter(_%20).toList() 输出结果是&#xff08;B&#xff09; A. 2 4 B. List(2,4) C. List(1,3,5) D. 1 3 5 2.println(Array("tom","team","pom") .filter(_.matches("")).toList) 输出结果为(List(tom,…...

【OSG学习笔记】Day 15: 路径动画与相机漫游

本章来学习下漫游相机。 路径动画与相机漫游 本届内容比较简单&#xff0c;其实就是实现物体的运动和相机的运动 当然这两个要一起执行。 贝塞尔曲线 贝塞尔曲线&#xff08;Bzier curve&#xff09;是一种在计算机图形学、动画制作、工业设计等领域广泛应用的参数曲线&am…...

PostgreSQL(PostGIS)触发器+坐标转换案例

需求&#xff0c;只录入一份坐标参考为4326的数据&#xff0c;但是发布的数据要求坐标必须是3857 对这种需求可以利用数据库触发器实现数据的同步 步骤&#xff1a; 1. 使用ArcGIS Pro创建一个名字为testfc_4326的图层&#xff0c;坐标参考为4326 2. 使用Pro再创建一个名字…...

Constraints and Triggers

目录 Kinds of Constraints Single-Attribute Keys Multiattribute Key Foreign Keys Expressing Foreign Keys Enforcing Foreign-Key Constraints Actions Taken Attribute-Based Checks Timing of Checks Tuple-Based Checks Assertions Timing of Assertion Ch…...

基于windows系统的netcore架构与SqlServer数据库,实现双机热备。

以下是基于 SQL Server Always On 可用性组 和 故障转移群集 的详细配置步骤&#xff0c;用于实现双机热备。 步骤 1&#xff1a;准备环境 1.1 硬件和软件准备 两台服务器&#xff1a;分别作为主服务器和备用服务器。SQL Server版本&#xff1a;确保两台服务器上安装的SQL S…...

【转bin】EXCEL数据转bin

如果DEC2BIN函数的默认设置无法满足需求&#xff08;它最多只能处理10位的二进制转换&#xff09;&#xff0c;可以通过VBA宏方法来处理较大数的二进制转换并提取特定位置的数字&#xff1a; 十进制转二进制&#xff08;不限位宽&#xff09; 1、打开VBA编辑器&#xff08;Al…...

BERT:让AI真正“读懂”语言的革命

BERT&#xff1a;让AI真正“读懂”语言的革命 ——图解谷歌神作《BERT: Pre-training of Deep Bidirectional Transformers》 2018年&#xff0c;谷歌AI团队扔出一篇核弹级论文&#xff0c;引爆了整个NLP领域。这个叫BERT的模型在11项任务中屠榜&#xff0c;甚至超越人类表现…...

【计算机组成原理】SPOOLing技术

SPOOLing技术 关键点内容核心思想通过输入/输出井虚拟化独占设备&#xff0c;实现共享&#xff0c;即让多个作业共享一台独占设备依赖条件1. 外存&#xff08;井文件&#xff09;2. 多道程序设计虚拟实现多道程序技术磁盘缓冲数据流方向输入设备 → 输入井 → CPU → 输出井 →…...

冷雨泉教授团队:新型视觉驱动智能假肢手,拟人化抓握技术突破,助力截肢者重获生活自信

研究背景&#xff1a;日常生活中&#xff0c;健康人依靠手完成对物体的操作。对于手部截肢患者&#xff0c;手部的缺失导致他们难以有效地操作物体&#xff0c;进而影响正常的日常生活。拥有一个能够实现拟人地自然抓取多种日常物体的五指动力假手是手部截肢患者的夙愿&#xf…...

CanvasGroup篇

&#x1f3af; Unity UI 性能优化终极指南 — CanvasGroup篇 &#x1f9e9; 什么是 CanvasGroup&#xff1f; CanvasGroup 是UGUI的透明控制器&#xff0c;用于整体控制一组UI元素的&#xff1a; 可见性 (alpha)交互性 (interactable)射线检测 (blocksRaycasts) &#x1f3af…...

[Java 基础]银行账户程序

编写一个 Java 控制台应用程序&#xff0c;模拟一个简单的银行账户。该程序应允许用户执行以下操作&#xff1a; 查询账户余额。 账户初始余额设置为 1000.0 元。向账户存入资金。 用户可以输入存款金额&#xff0c;程序应更新账户余额。存款金额必须为正数。从账户提取资金。…...

2025.6.4总结

工作&#xff1a;今天效率比较高&#xff0c;早上回归4个问题&#xff0c;下午找了3个bug&#xff0c;晚上二刷了科目一&#xff08;贪吃蛇系统&#xff09;&#xff0c;写了四个点&#xff0c;唯一没达标的就是两自动化没完成。美中不足的是电脑上下载不了PC版的番茄工作软件。…...

将音频数据累积到缓冲区,达到阈值时触发处理

实现了音频处理中的 AEC&#xff08;声学回声消除&#xff09;和 AES&#xff08;音频增强&#xff09;功能&#xff0c;其核心功能是&#xff1a; 数据缓冲管理&#xff1a;将输入的麦克风和扬声器音频数据块累积到缓冲区中块处理机制&#xff1a;当缓冲区填满预设大小&#…...