vue-cli搭建项目过程

news2024/9/22 13:20:12

一.前言

传统的前端项目架构:

指的就是一个项目中有很多个HTML文件,每一个HTML文件都是相互独立的,如果需要在页面中导入一些外部依赖的css,js文件,就需要在每一个html文件中都导入就会显得特别麻烦,而且这些外部依赖的css,js文件还都需要我们去官网下载。

现在的前端项目架构:

在一个node环境中构建项目,node(前端的开发环境)类似于后端的maven,与传统的前端项目架构不同的是,现在的前端项目架构中改为了单页面架构(一个项目中只有一个.html文件),切换页面也是通过主页面去调用其他的组件(.vue文件)实现的。

二.什么是vue-cli?

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

1.主要的功能

1.具有统一的目录结构

2.可以本地调试

3.热部署

4.单元测试

5.集成打包上线

2.需要配置的环境

Node.js

简单地说Node.js就是前端js运行环境或者说是js语言解释器

Node.js官方网址:

https://nodejs.org/en/download

测试Node.js环境是否安装完成

打开控制台(ctrl+r),输入node -vnpm -v,如果出现下面版本号证明安装环境完成。

三.使用HbuilderX创建一个vue-cli项目

1.创建项目

打开HbuilderX,找到新建项目,点击创建vue项目(2.6.10) vue-cli默认项目

点击创建项目,vue-cli项目中会下载很多个项目依赖的外部组件文件,所以会下载的比较缓慢,下载完成后,项目中的结构如下:

2.启动项目 

项目创建完成后该如何启动项目呢?

        

在软件的左下角有一个命令行窗口(终端)中,输入npm run serve(这是启动命令),输入回车后,会出现访问地址。

这两个网址就是我们创建完成运行的网页了。

3.终端命令

命令行中还有那些命令呢?

1.在我们以后从网络中下载的前端程序中,有很多的程序中都是不会有node_modules文件夹的,因为此文件夹占用内存大,而且每个vue-cli项目中都会带有,所以一些程序员就认为没有必要将此文件夹也打包起来,在终端中有一个命令可以解决此问题:

npm install

在终端中输入此命令就可以对此项目下载项目依赖了。但是在下载之前需要先删除 package-lock.json 文件

如果 package-lock.json 文件被删除后仍然出现,可以在终端中输入命令:

npm config set package-lock false

2.打包命令

npm run build 这个命令就像maven中打包为.jar包一样。

3.停止服务

ctrl+c,项目打开的是我们是不能在终端中书写命令代码的,这个时候就需要先停止服务

四.组件路由

1.创建组件

组件(.vue文件)一般在src文件夹下创建。创建步骤如下图。

2.组件的一般格式

3.组件路由

我认为组件路由其实就是给项目中的每个组件定义一个地址。(个人认为,有不同见解的可以私信博主)

详细概念:Vue组件路由是指在Vue.js应用中,通过定义和管理路由来控制页面之间的跳转和展示。Vue组件路由可以使用Vue Router插件来实现,通过定义路由规则和对应的组件,可以实现不同路由路径对应不同的组件展示。

在vue组件路由中,一般使用<router-link>组件来创建导航链接(超链接)<router-view>组件来展示对应组件的内容。可以通过路由参数,动态路由,嵌套路由等方式实现不同场景下的页面导航和展示逻辑。

在终端下载vue-router组件:

打开命令行(终端):输入:npm i vue-router@3.5.3 下载vue-router插件包。

如果下载很慢或者装不上的话,就在终端中设置华为镜像源(亲测好用):

终端输入:

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

然后再输入:npm i vue-router@3.5.3 下载vue-router插件包。

五.搭建步骤

1.创建router目录

创建index.js文件,我们就在这里去配置路由

import Vue from 'vue';
import router from 'vue-router'; /* 导入路由 */

//导入自己项目中的组件
//import 名字 from '组件位置';
 
import login from '../views/login'; /* 导入其他组件 */
import content from '../components/content'; /* 导入其他组件 */

Vue.use(router)
/* 定义组件路由 */
var rout = new router({
routes: [
   {
     path: '/index', //组件地址
     name: 'index',
     component: index  //就是上面导入进来的组件名字
   },
   {
     path: '/content',
     component: content
   }
]
});
//导出路由对象
export default rout;

2.使用路由

使用 <router-link>创建导航链接, <router-view>(一般放在App.vue文件中)组件来展示对应组件的内容。
使用<router-view>来实现 显示路由

 

 

3.在main.js中配置路由


 
还有第10行代码中的 router 不要忘记添加进来!!!小细节要记牢。

4.路由导航守卫

为路由对象,添加 beforeBach 导航守卫
to-将要访问的页面地址,from-从哪个页面访问的,next-放行函数
rout.beforeEach((to,from,next)=>{
if(to.path=='/login'){如果用户访问的登录页,直接放行
    return next();
 }else{
       var token = window.sessionStorage.getItem("token");
       if(token==null){
            return next("/login");
        }else{
             next();
          }
       }
})

这种情况一般使用在登陆注册窗口,如果用户没有登陆是不会让用户进入到下个登录后的页面中去。

5.路由嵌套

可以实现在一个页面中去点击或者触发某个事件时候不需要跳转到下个页面,在本页面显示组件

六.总结

  首先非常感谢大家的观看,到这里本篇博客就快要接近尾声了,到这里已经带领大家学习了vue-cli(脚手架)node.js环境配置创建vue-cli项目项目中的各个文件的意义配置组件路由等内容。希望小博主的分享能够给您给予小小的帮助,创作不易还请大家可以三连支持一下小博主。有什么问题可以私信博主!!!感谢大家!!!

 

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

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

相关文章

详细git使用教程以及git base here命令行

0 下载 这个是官网下载特别慢 Git - Downloads (git-scm.com) 1 最基本操作与初始配置 1.1&#xff0c;linux的基本命令可用 下载安装后鼠标右键选git base here即可打开 1.2&#xff0c;git init /git clone初始化&#xff0c;创建本地仓库 出现.git隐藏文件 git clone “…

Big Model Weekly | 第34期

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 01 MiniCPM-V: A GPT-4V Level MLLM on Your Phone 近期多模态大型语言模型&#xff08;MLLMs&#xff09;的快速发展&#xff0c;从根本上改变了人工智能研究和产业的格局&#xff0c;为实现人工智能的下一个重…

Java去掉字符串中的特殊符号只保留中文数字和字母

今天在做一个导入功能发现用户导入的数据有特殊符号&#xff0c;于是想着给他去掉&#xff0c;搜了一下发现大多数方法都只保留了字母数字&#xff0c;连中文都去掉了&#xff0c;这很明显不符合我的需求 直接上代码 /*** author Sakura* date 2024/8/27 15:18*/ public clas…

Python(C++)自动微分导图

&#x1f3af;要点 反向传播矢量化计算方式前向传递和后向传递计算方式图节点拓扑排序一阶二阶前向和伴随模式计算二元分类中生成系数高斯噪声和特征二元二次方程有向无环计算图超平面搜索前向梯度下降算法快速傅里叶变换材料应力和切线算子GPU CUDA 神经网络算术微分 Pytho…

使用谷歌浏览器查看原型

需求人员给了一个原型文件包&#xff0c;用谷歌浏览器打开提示以下内容&#xff1a; 找到需求人员发的原型文件包 进入到resources-->chrome&#xff0c;找到axure-chrome-extension.crx&#xff0c;复制一份出来命名为axure-chrome-extension.tar&#xff0c;然后在该目录下…

招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%

在竞争激烈的消费金融市场中&#xff0c;有效利用海量数据、提升业务运营效率是赢得市场的关键。早期招联采用典型的 Lambda 架构提供业务报表、数据运营、个性推荐、风险控制等数据服务&#xff0c;而 Lambda 过多的技术栈也引发了数据孤岛、查询效率不足、代码复用性差以及开…

AI算法平台训练站裸土检测算法训练裸土检测算法源码

在全球化进程加快与环境问题日益突出的今天&#xff0c;裸土检测成为了环境监测和土壤管理中不可或缺的一环。裸土指的是没有植被覆盖的土壤区域&#xff0c;这些区域易受侵蚀&#xff0c;并可能导致土壤流失和环境退化。为了有效应对这些问题&#xff0c;裸土检测算法应运而生…

Redis持久化与主从同步

1 淘汰策略 127.0.0.1:6379> help expireEXPIRE key secondssummary: Set a keys time to live in secondssince: 1.0.0group: generic127.0.0.1:6379> help PEXPIREPEXPIRE key millisecondssummary: Set a keys time to live in millisecondssince: 2.6.0group: gener…

【CSP:202112-1】序列查询(Java)

题目链接 202112-1 序列查询 题目描述 求解思路 模拟&#xff1a;a数组可以看作是记录 f ( x ) f(x) f(x) 函数值发生变化出的 x x x 点&#xff08;每次自增1&#xff09;。因此将每段相同数值的 f ( x ) f(x) f(x) 用乘法计算出来即可&#xff0c;最后记得要加上最后一…

Java Web —— 第九天(事务)

事务管理 & AOP 事务回顾 概念 事务 是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;这些操作 要么同时成功&#xff0c;要么同时失败 操作 开启事务(一组操作开始前&#xff0c;开启事务): start transaction / begin 提交事务(这组操作全部成功…

服务器访问端口命令

服务器访问端口命令是一组用于管理服务器端口的命令行指令。服务器端口是用于与外部设备或应用程序进行通信的逻辑通道&#xff0c;它允许数据在服务器和其他设备之间传输。以下是一些常见的服务器访问端口命令。 netstat&#xff1a;这个命令用于检查服务器上当前的网络连接和…

FPGA第 5 篇,FPGA技术优略势,FPGA学习方向,FPGA学习路线(FPGA专业知识的学习方向,FPGA现场可编程门阵列学习路线和方向)

前言 前几篇讲了一下FPGA的发展和应用&#xff0c;以及未来前景。具体详细&#xff0c;请看 FPGA发展和应用&#xff0c;以及未来前景https://blog.csdn.net/weixin_65793170/category_12665249.html 这里我们来&#xff0c;记录一下&#xff0c;FPGA专业知识的学习路线 一.…

OpenAI remove key access while using AAD authentication

题意&#xff1a;“OpenAI 在使用 AAD 认证时移除了密钥访问权限” 问题背景&#xff1a; I am calling Azure OpenAI API in my python code. To set it up, we need to provide a few parameters, one of which is openai.api_key. There are 2 options to get this value -…

力扣hot100-动态规划

文章目录 概念动态规划基本思想常见步骤常用技巧常见问题类型 动态规划题目题目&#xff1a; 爬楼梯题解 概念 动态规划 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是一种解决问题的算法思想&#xff0c;通常用于优化问题。它的核心思想是将一个…

K8S声明式的管理方式

一、K8S声明式的管理方式&#xff1a; 1、适合对资源的修改操作 2、声明式管理依赖于yaml文件&#xff0c;所有的内容都在yaml文件中声明 3、编辑好的yml文件还是要靠陈述式命令发布到K8S集群中 二、K8S中支持三种声明式的资源管理方式&#xff1a; 1、deployment格式&…

如何用Java SpringBoot Vue搭建创新创业学分管理系统?实战教程

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

GLM大模型 - CogVideoX:5B 开源,2B 转为 Apache 协议

8月6日&#xff0c;我们发布并开源了CogVideoX-2B模型&#xff0c;受到广大开发者的欢迎。 为了促进社区的自主使用和开放式创新&#xff0c;我们现决定将参数规模更大、性能更强的产品级模型 CogVideoX-5B 开源&#xff0c;同时 CogVideoX-2B 的开源协议调整为更加开放的Apac…

阿里云链接远程桌面Ubuntu22.4,出现的各种问题汇总,太艰辛,所以发出来,帮助一下后边的小伙伴

问题一&#xff1a;远程登录桌面计算机名写什么&#xff1a;写ip,公网ip,用户名不要填 问题二 Win10远程连接Ubuntu20.04桌面黑屏的问题 如果你是用浏览器连接上了云服务器&#xff0c;那么请先logout!

算法的学习笔记—从 1 到 n 整数中 1 出现的次数(牛客JZ43)

&#x1f600;前言 在编程面试中&#xff0c;求解从 1 到 n 的整数中数字 1 出现的次数是一个常见的挑战。该问题的关键在于如何高效地统计数字 1 出现的次数。本文将详细分析该问题的解题思路&#xff0c;并提供一个高效的 Java 实现。 &#x1f3e0;个人主页&#xff1a;尘觉…

java 切面日志打印出参入参

切面Controller出入参日志打印 项目结构 切面日志对controller下所有的方法生效 切面代码 Slf4j Aspect Component public class ControllerLogAspect {// 定义一个切点&#xff0c;拦截所有Controller层的public方法Before("execution(public * com.jzt.market.cont…