Vue CLI: 安装、项目创建及基本概念指南,vue生命周期

只有经历地狱般的磨砺,才能练就创造出天堂的力量;只有流过血的手指,才能弹奏出世间绝唱

文章目录

        • vue-cli
          • 介绍
          • 安装
          • 创建项目
          • 入口文件
          • 修改文件夹名称的步骤
          • ES6模块化
          • 单文件组件
        • vue生命周期
        • vue动画

vue-cli
介绍
  • vue-lic是一个开发vue项目的脚手架工具,可以提供基于vue项目架子的快速创建,称为一套标准。
    • 统一的项目结构
    • 提供了开发过程中的系列工具
      • babel:语法降级
      • eslint:约束语法风格
      • less:预处理器
    • 提供了一个开发服务器,方便预览
      • 自动刷新浏览器,方便预览
      • 热更新功能,有些资源的更改,不需要刷新浏览器,立即更新,进行预览
安装
  • npm安装:npm i @vue/cli -g; yarn安装:yarn add @vue/cli global
    • 成功:安装日志中没有任何关于error、err相关的日志,代表成功
    • 关于安装报错的问题
      • 90%是网络问题,需要多试试
      • 如果安装慢,使用淘宝镜像
        • windows:npm i @vue/cli -g --registry=https://registry.npm.taobao.org
        • mac:![请添加图片描述](https://i-blog.csdnimg.cn/direct/f86b41ec032348de847c7776c25b1483.png) sudo npm i @vue/cli -g
  • 测试:vue --version
创建项目
  1. 打开命令行窗口,执行命令 vue create 项目名称
    1. 项目名称必须英文
    2. 项目名称不能和包名重名

  2. 选择创建方式,默认创建,自定义创建
    在这里插入图片描述

  3. 等待安装项目依赖的包
    在这里插入图片描述

  4. 创建成功
    在这里插入图片描述

  5. 启动项目 (在项目根目录下执行 npm run serve)

  6. 启动成功
    在这里插入图片描述

  7. 去浏览器访问 http://localhost:8080
    在这里插入图片描述

入口文件

请添加图片描述

  • 作用
    • 在vue-cli的项目中,是以单个文件作为组件进行开发,也是以模块的方式进行开发
    • 项目中拥有很多文件,像是css、js组件
    • 通过main.js去整合所有的拆分的文件,导入到main.js里面来,通过vue-cli合并所有的文件在一个页面中进行预览
修改文件夹名称的步骤
  1. 退出vue运行,修改创建的demo1文件夹的名称为实际项目名称,例如 改成demo2
  2. 删除node_modules文件夹
  3. 修改package.json中的项目名称为项目实际名称demo2
  4. 修改public文件夹里面的index.html的title为项目实际名称demo2
  5. 修改完成,执行 npm i ,创建node_modules文件夹,然后 npm run serve 运行项目,并使用浏览器访问
ES6模块化
  • 作用:用来约定模块(一个js文件就会少一个模块,模块拥有自己的作用域)的导入和导出
  • 默认导入与导出
    • 导入:import 变量名 from '包名|js模块路径'
    • 导出:export default 导出内容
  • 按需导入与导出
    • 导入:import {成员变量名1,成员变量名2} from '包名|js模块路径'
    • 导出:export const 成员变量名= '导出内容'
单文件组件
  • 不管是何种注册方式,每个组件必须有一个组件配置化对象
    请添加图片描述
    现在定义组件
  • .vue文件的方式来定义组件,文件的内容代表的是:组件配置对象
  • 需要渲染这个组件
    • 使用这个配置对象进行全局注册或者局部注册,再来使用
    • 使用路由规则中的component选项指定路由配置对象
  • 称为:单文件组件
    请添加图片描述
vue生命周期

生命周期指的是一个vue实例,从创建到销毁的过程。在生命过程中,每到一个时间点,vue会触发某个函数,回调函数,生命周期钩子函数
请添加图片描述

  • 创建阶段
    • beforeCreate():在实例初始化之后,数据观测 (data observer) 和事件配置之前被调用。此时,实例还未开始初始化 $data 对象
    • created():在实例创建完成后立即调用。此时,实例已完成以下配置:数据观测、属性和方法的运算、watch/event 事件回调。然而,挂载阶段还未开始,$el 属性目前不可见
  • 挂载阶段
    • beforeMount():在挂载开始之前被调用,相关的 render 函数首次被调用。此时,模板编译已经完成,但尚未渲染到页面上
    • mounted():实例被挂载后调用,此时,el 被新创建的 vm.$el 替换,并插入到 DOM 中。在这个阶段,可以直接访问 DOM 元素
  • 更新阶段
    • beforeUpdate():数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,例如手动移除已添加的事件监听器
    • updated():由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,可以执行依赖于 DOM 的操作
  • 销毁阶段
    • beforeDestory():实例销毁之前调用。在这一步,实例仍然完全可用
    • destoryed():实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁
vue动画
  • 提供了进入和离开时候的动画实现,也就是一个进场动画和离场动画的实现
  • 提供了创建显示元素或组件,移除隐藏元素或组件,过程中的动画
    请添加图片描述
  • 显示/创建 (元素|组件)
    • v-enter:进入前
    • v-enter-active:进入中
    • v-enter-to:进入后
  • 隐藏/移除 (元素|组件)
    • v-leave:离开前
    • v-leave-active:离开中
    • v-leave-to:离开后
  • 在不同阶段,改变元素或组件的样式属性,然后添加过滤效果,即可实现动画

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

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

相关文章

Geotrust SSL证书

在数字化浪潮席卷全球的今天,互联网已成为信息交流与商业活动不可或缺的平台。然而,随着网络应用的深入,数据泄露、身份盗用、网络诈骗等安全问题也日益凸显,严重威胁着用户的隐私与财产安全。在这样的背景下,数字证书…

css实现边框双色凹凸半圆

整体效果如下图&#xff1a; 结构代码&#xff1a; <div classline-outside-wrap><div classwrap><img src../img/avatar2x.png/><div classcontent-wrap></div></div></div> 内凹框实现&#xff1a; .content-wrap{width:100%;he…

HarmonyOS:自定义组件冻结功能

一、简介 自定义组件冻结功能专为优化复杂UI页面的性能而设计&#xff0c;尤其适用于包含多个页面栈、长列表或宫格布局的场景。在这些情况下&#xff0c;当状态变量绑定了多个UI组件&#xff0c;其变化可能触发大量UI组件的刷新&#xff0c;进而导致界面卡顿和响应延迟。为了提…

Kafka相关API开发

(一)引入依赖 用API直接去操作kafka(读写数据)在实际开发中用的并不多&#xff0c;学习它主要还是为了加深对Kafka功能的理解。kafka的读写操作&#xff0c;实际开发中&#xff0c;是通过各类更上层的组件去实现。而这些组件在读写kafka数据时&#xff0c;用的当然是kafka的jav…

警务辅助人员管理系统小程序ssm+论文源码调试讲解

2系统关键技术 2.1 微信小程序 微信小程序&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种全新的连接用户与服务的方式&#xff0c;可以快速访问、快速传播&#xff0c;并具有良好的使用体验。 小程序的主要开发语言是JavaScript&#xff0c;它与普…

微服务设计模式 - 断路器模式 (Circuit Breaker Pattern)

微服务设计模式 - 断路器模式 (Circuit Breaker Pattern) 定义 断路器模式&#xff08;Circuit Breaker Pattern&#xff09;是云计算和微服务架构中的一种保护性设计模式&#xff0c;其目的是避免系统中的调用链出现故障时&#xff0c;导致系统瘫痪。通过断路器模式&#xff…

Yelp 数据集进行用户画像, 使用聚类做推荐

使用 Yelp 数据集进行用户画像&#xff08;User Profiling&#xff09;是一项有趣的任务&#xff0c;可以理解用户的偏好、行为和特征。以下是总结的一个基本的步骤&#xff0c;帮助构建用户画像 pandas 加载数据&#xff1a; import pandas as pd# 加载数据 users pd.read_…

DDRPHY数字IC后端设计实现系列专题之后端设计导入,IO Ring设计

本章详细分析和论述了 LPDDR3 物理层接口模块的布图和布局规划的设计和实 现过程&#xff0c;包括设计环境的建立&#xff0c;布图规划包括模块尺寸的确定&#xff0c;IO 单元、宏单元以及 特殊单元的摆放。由于布图规划中的电源规划环节较为重要&#xff0c; 影响芯片的布线资…

前端路由如何从0开始配置?vue-router 的使用

在 Web 开发中&#xff0c;路由是指根据 URL 的不同部分将请求分发到不同的处理函数或页面的过程。路由是单页应用&#xff08;SPA, Single Page Application&#xff09;和服务器端渲染&#xff08;SSR, Server-Side Rendering&#xff09;应用中的一个重要概念。 在开发中如何…

强化学习的数学原理-06随即近似理论和随机梯度下降

文章目录 Robbins-Monro algorithmStochastic gradient descentBGD、MBGD、 and SGDSummary Robbins-Monro algorithm 迭代式求平均数的算法 S t o c h a s t i c a p p r o x i m a t i o n ( S A ) Stochastic \; approximation \;(SA) Stochasticapproximation(SA)&#xf…

Apache Hive 通过Docker快速入门

QuickStarted 介绍 在伪分布式模式下在 docker 容器内运行 Apache Hive&#xff0c;以便为 Hive 提供以下快速启动/调试/准备测试环境 快速入门 步骤 1&#xff1a;拉取镜像 从 DockerHub 拉取镜像&#xff1a;https://hub.docker.com/r/apache/hive/tags。以下是最新的镜像…

【K8S系列】Kubernetes 中 NodePort 类型的 Service 无法访问的问题【已解决】

在 Kubernetes 中&#xff0c;NodePort 类型的 Service 允许用户通过每个节点的 IP 地址和指定的端口访问应用程序。如果 NodePort 类型的 Service 无法通过节点的 IP 地址和指定端口进行访问&#xff0c;可能会导致用户无法访问应用。本文将详细分析该问题的常见原因及其解决方…

逻辑卷动态扩容与缩容-----

一、创建逻辑卷 需求&#xff1a;创建一个2.5G大小的逻辑卷 思路&#xff1a; 1. 物理的设备 2. 将物理设备做成物理卷 pv 3. 创建卷组并将物理卷加入其中 vg 4. 创建逻辑卷 lv 5. 格式化逻辑卷 mkfs.ext4 6. 挂载使用 mount 步骤&#xff1a; 1. 物理设备【如何来分区】…

开关灯问题(c语言)

样例&#xff1a;10 10 &#xff0c;输出&#xff1a;1&#xff0c;4&#xff0c;9 5 5 &#xff0c;输出&#xff1a;1&#xff0c;4 代码如下 #include<stdio.h> //引入bool值的概念 #include<stdbool.h> int main() {int n 0;//n为灯的数量int m 0;…

扫雷游戏(C语言详解)

扫雷游戏&#xff08;C语言详解&#xff09; 放在最前面的1、前言&#xff08;扫雷游戏的简介&#xff09;2、扫雷游戏的规则&#xff08;简易版&#xff09;3、代码实现&#xff08;3.1&#xff09;提醒一下&#xff1a;( i ) 提醒1&#xff1a;( ii ) 提醒2&#xff1a; &…

在面试了些外包以后,我有了些自己的思考

大家好&#xff0c;我是洋子&#xff0c;最近公司在降本增效&#xff0c;需要把外包从北京迁移到陕西的某新一线城市&#xff0c;其实就是变相裁员&#xff0c;减少外包的成本&#xff0c;裁掉现有的员工&#xff0c;重新招聘新人 在整个测试行业&#xff0c;外包测试的比重是…

论文 | Ignore Previous Prompt: Attack Techniques For Language Models

这篇论文探讨了针对大型语言模型&#xff08;LLM&#xff09;的“提示注入”攻击&#xff0c;并提出了一种名为 PROMPTINJECT 的框架来研究这类攻击。 论文的主要内容包括&#xff1a;1. 提示注入攻击&#xff1a; 论文定义了“提示注入”的概念&#xff0c;即通过在用…

Django-中间件

定义&#xff1a; 编写中间件&#xff1a; 注册中间件&#xff1a; 添加中间件&#xff1a; 1.在项目目录下添加一个文件夹&#xff08;名字随意&#xff09;&#xff0c;然后文件夹下创建.py文件 2.将中间件添加到setting文件中 MIDDLEWARE [django.middleware.security.Se…

MBR20100CT-ASEMI半塑封肖特基二极管MBR20100CT

编辑&#xff1a;ll MBR20100CT-ASEMI半塑封肖特基二极管MBR20100CT 型号&#xff1a;MBR20100CT 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220 安装方式&#xff1a;插件 批号&#xff1a;最新 最大平均正向电流&#xff08;IF&#xff09;&#xff1a;20A 最大循环…

操作数据表

创建表 创建表语法&#xff1a; CREATE TABLE table_name ( field1 datatype [COMMENT 注释内容], field2 datatype [COMMENT 注释内容], field3 datatype ); 注意&#xff1a; 1. 蓝色字体为关键字 2. CREATE TABLE 是创建数据表的固定关键字&#xff0c;表…