Vue从入门到精通-01-Vue的介绍和vue-cli

MVVM模式

  • Model:负责数据存储

  • View:负责页面展示

  • View Model:负责业务逻辑处理(比如Ajax请求等),对数据进行加工后交给视图展示

关于框架

为什么要学习流行框架

1、企业为了提高开发效率:在企业中,时间就是效率,效率就是金钱;企业中,使用框架,能够提高开发的效率。

提高开发效率的发展历程

原生JS -> Jquery之类的类库 -> 前端模板引擎 -> Angular.js / Vue.js(能够帮助我们减少不必要的DOM操作;提高渲染效率;双向数据绑定的概念)

2、在Vue中,一个核心的概念就是:数据驱动,避免手动操作DOM元素。这样的话,可以让前端程序员可以更多的时间去关注数据的业务逻辑,而不是关心 DOM 是如何渲染的了。

框架和库的区别

框架

框架是一套完整的解决方案。

对项目的侵入性较大,项目如果需要更换框架,则需要重新架构整个项目。但是优点也很明显:功能完善、提供了一整套的解决方案。

库(插件)

只是提供某一个小功能。

对项目的侵入性较小,如果某个库无法完成某些需求,可以很容易切换到其它库实现需求。

举例:

  • 从Jquery 切换到 Zepto

  • 从 EJS 切换到 art-template

前端的各种框架

Vue 和 React 的相同点

  • 利用虚拟DOM实现快速渲染

  • 轻量级

  • 响应式组件

  • 支持服务器端渲染

  • 易于集成路由工具、打包工具以及状态管理工具

PS:Vue 在国内很受欢迎;React 在国内和国外都很受欢迎,适合做大型网站。

什么是虚拟 DOM

传统的web开发,是利用 jQuery操作DOM,这是非常耗资源的。

我们可以在 JS 的内存里构建类似于DOM的对象,去拼装数据,拼装完整后,把数据整体解析,一次性插入到html里去。这就形成了虚拟 DOM。

Vue1.0没有虚拟DOM,Vue2.0改成了基于虚拟DOM。

前端框架回顾

Vue框架中,没有控制器。

Vue 框架

发展历史

  • 2013年底作为尤雨溪个人实验项目开始开发

  • 2014年2月公开发布。

  • 2014年11月发布0.11版本

  • 2016年10月发布2.0版本。

相关网址

  • 中文官网

  • vuejs官方论坛

  • GitHub地址:GitHub - vuejs/vue: This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

  • Vue1.0 在线文档:起步 - vue.js

  • Vue2.x 在线文档:介绍 — Vue.js

  • Vue1下载地址:http://v1-cn.vuejs.org/js/vue.js

  • Vue2下载地址:https://cdn.jsdelivr.net/npm/vue/

上方截图的时间:2018-03-02。

介绍

Vue 本身并不是一个框架,Vue结合周边生态构成一个灵活的、渐进式的框架。

Vue 以及大型 Vue 项目所需的周边技术,构成了生态。

渐进式框架图:

Vue框架的特点

  • 模板渲染:基于 html 的模板语法,学习成本低。

  • 响应式的更新机制:数据改变之后,视图会自动刷新。【重要】

  • 渐进式框架

  • 组件化/模块化

  • 轻量:开启 gzip压缩后,可以达到 20kb 大小。(React 达到 35kb,AngularJS 达到60kb)。

Vue 的环境搭建

我们首先要安装好 NVM、Node.js环境,然后再来做下面的操作。

常见的插件

  • Webpack:代码模块化构建打包工具。

  • Gulp:基于流的自动化构建工具。

  • Babel:使用最新的 规范来编写 js。

  • Vue:构建数据驱动的Web界面的渐进式框架

  • Express:基于 Node.js 平台,快速、开放、极简的 Web 开发框架。

以上这些包,都可以通过 NPM 这个包管理工具来安装。

引用 Vue.js 文件

1、方式一:(CDN的方式进行引用)

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
     <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
 </head>
 <body>
 ​
 ​
 </body>
 </html>

2、方式二:(下载 vue.js 文件)

去网站 https://cdn.jsdelivr.net/npm/vue/ 下载 vue.js 文件,直接放到工程文件里,然后引用。

3、方式三:(NPM的方式安装vue)

 # 最新稳定版
 $ npm install vue

如果网络不稳定,可以采用下面的方式安装:

 $ cnpm i vue --save

然后在代码中通过下面这种方式进行引用:

   import Vue from 'vue'

利用 vue-cli 新建一个空的项目

Vue 提供一个官方命令行工具,可用于快速搭建大型单页应用。该工具为现代化的前端开发工作流提供了开箱即用的构建配置。只需几分钟即可创建并启动一个带热重载、保存时静态检查以及可用于生产环境的构建配置的项目。

官方代码参考

   npm install -g @vue/cli
 ​
   vue create my-app
 ​
   cd my-app
 ​
   npm run serve

我们根据上方的参考代码,来看看“利用 vue-cli 新建一个空的项目”的步骤。

安装 vue-cli(命令行工具)

安装命令如下:

 # 全局安装 vue-cli
 $ npm install -g @vue/cli

初始化一个 simple 项目

(1)首先执行:

   vue create my-app

输入上方命令后,会弹出一个选项:

如果是初学者,直接选default就行。之后会自动生成一个空的初始化项目,包含了项目目录、以及项目依赖的脚本。

这个空项目的工程文件如下:(请务必仔细研究这个项目的写法和目录结构)

  • 2019-06-21-vue-my-app.zip

我们可以看到这个项目的结构:

  • src:项目源码

  • .babelrc:ES6编译插件的配置

  • index.html:单页面的入口

上方截图中,npm install指的是下载各种依赖包,npm run dev指的是打开发包,npm run build指的是打生产包。

(2)本地运行项目:

   cd my-app
 ​
   npm run serve

浏览器输入http://localhost:8080/,就可以让这个空的项目在本地跑起来:

备注:我们在 GitHub上下载的任何Vue有关的项目,第一步都是要首先执行 npm install,安装依赖的 mode_modules,然后再运行。我们发给同事的工程文件,建议不要包含 node_modules

构建一个 非 simple 项目

构建一个空的项目,首先执行:

$ vue create vuedemo2

上图中,选择 Manually select features,然后根据提示依次输入:

  • project name:要求小写

  • description:默认即可。

  • vue-router:需要。

  • ESlint:语法检查,初学者可以暂时不需要。

  • 单元测试:暂时也不需要。

  • e2e test:不需要。

选择 eslint 的配置:

然后让这个空的项目就可以在浏览器上跑起来。

vue 项目结构分析

  • buid:打包配置的文件夹

  • config:webpack对应的配置

  • src:开发项目的源码

    • App.vue:入口组件。.vue文件都是组件。

    • main.js:项目入口文件。

  • static:存放静态资源

  • .babelrc:解析ES6的配置文件

  • .editorcofnig:编辑器的配置

  • .postcssrc.js:html添加前缀的配置

  • index.html:单页面的入口。通过 webpack打包后,会把 src 源码进行编译,插入到这个 html 里面来。

  • package.json:项目的基础配置,包含版本号、脚本命令、项目依赖库、开发依赖库、引擎等。

图片的base64编码

默认是10k以下,建议都通过 base64编码。在配置文件webpack.base.conf.js中进行修改:

      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[hash:7].[ext]')
        }

希望各位可以点个赞点个关注,这对up真的很重要,谢谢大家啦!

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

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

相关文章

【Harmony3.1/4.0】笔记三-计算器

概念 网格布局是由“行”和“列”分割的单元格所组成&#xff0c;通过指定“项目”所在的单元格做出各种各样的布局。网格布局具有较强的页面均分能力&#xff0c;子组件占比控制能力&#xff0c;是一种重要自适应布局&#xff0c;其使用场景有九宫格图片展示、日历、计算器等…

python-pytorch 如何使用python库Netron查看模型结构(以pytorch官网模型为例)0.9.2

Netron查看模型结构 参照模型安装Netron写netron代码运行查看结果需要关注的地方 2024年4月27日14:32:30----0.9.2 参照模型 以pytorch官网的tutorial为观察对象&#xff0c;链接是https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.html 模型代…

基于Springboot的新生宿舍管理系统

基于SpringbootVue的新生宿舍管理系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页 公告信息管理 院系管理 班级管理 学生管理 宿舍信息管理 宿舍安排管理…

清华军团推出中国首个对标Sora的视频大模型Vidu,扒一扒它背后的模型架构

就在前天&#xff0c;Vidu 在 2024 中关村论坛年会之中横空出世。 伴随着“中国首个”&#xff0c;“Sora 级视频模型”&#xff0c;“模拟真实的物理世界”等关键词下的刷屏式的报道&#xff0c;Vidu 一下成为国产视频模型的一剂强心针。 尽管目前 Vidu 支持的视频长度是 16 …

二叉树理论和题目

二叉树的种类 在我们解题过程中二叉树有两种主要的形&#xff1a;满二叉树和完全二叉树。 满二叉树 满二叉树&#xff1a;如果一棵二叉树只有度为0的结点和度为 2 的结点&#xff0c;并且度为 0 的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。 这棵二叉树为满二叉树…

vscode的终端区乱码怎么办呢?

vscode的终端区乱码怎么办呢? 错误效果解决办法一解决办法二(极力推荐方法二)最终效果参考文献 错误效果 解决办法一 解释:你之所以使用了utf8还乱码,是因为你的电脑目前根本无法兼容utf8,只兼容gbk 怎么让你的电脑兼容utf8,我写在方法二 在设置中,输入encoding 解决办法二(极…

水稻病害检测(YOLO数据集,多分类,稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫)

是自己利用LabelImg工具进行手工标注&#xff0c;数据集制作不易&#xff0c;请尊重版权&#xff08;稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫&#xff09; 如果需要yolv8检测模型和数据集放在一起的压缩包&#xff0c;可以关注&#xff1a;最新最…

求解约瑟夫问题

思路&#xff1a; 我们要创建两个指针 有一个指针pcur指向头结点&#xff0c;该pcur作为报数的指针&#xff0c;还有一个指针ptail指向尾结点&#xff0c;作为记录pcur的地址 每报数为m时&#xff0c;pcur指向下一个元素的地址&#xff0c;ptail销毁报数为m的地址&#xff0…

分光光度法基本原理与应用

本文介绍分光光度法基本原理与应用。 分光光度法是分光光度计采用的方法&#xff0c;在医疗检测仪器&#xff0c;实验室测量仪器中经常使用。本文简要分析其原理&#xff0c;并给出实际工作过程中如何应用及应用过程中可能的误差来源。 1.基本概念 设一平行单色光垂直照射某…

网络安全工程师必备的6个渗透测试工具

渗透测试是模拟黑客攻击&#xff0c;评估系统安全性的重要方法。 网络安全工程师需要掌握各种渗透测试工具&#xff0c;才能有效地发现和修复漏洞。 1. Nmap 功能: 强大的网络扫描器&#xff0c;可以扫描网络拓扑、识别主机和服务、发现开放端口和漏洞。 用途: 信息收集、漏洞…

一加Ace3/12/Ace2pro手机ColorOS14刷KernelSU内核ROOT-解决无限重启变砖

一加Ace3/一加12/一加11等手机升级了安卓14底层&#xff0c;并且ColorOS版本也更新到了14版本界面和功能都比之前的系统表现更加优秀&#xff0c;但刷机方面&#xff0c;相对之前存在一些差异&#xff0c;特别是KernelSU内核级别root权限&#xff0c;不再支持一键刷入KernelSU通…

MySQL的事务,函数和索引

事务 数据库的事务是一种机制&#xff0c;一种操作序列&#xff0c;包含了一组数据库的操作命令 简单了解&#xff1a;如果一个包含多个步骤的业务操作&#xff0c;被业务管理&#xff0c;要么这些操作同时操作成功&#xff0c;要么同时操作失败 事务是一个不可分割的工作逻…

HTTP网络协议,接口请求的内容类型 content-type(2024-04-27)

1、简介 Content-Type&#xff08;内容类型&#xff09;&#xff0c;一般是指网页中存在的 Content-Type&#xff0c;用于定义网络文件的类型和网页的编码&#xff0c;决定浏览器将以什么形式、什么编码读取这个文件&#xff0c;这就是经常看到一些 PHP 网页点击的结果却是下载…

【Kylin】V10系统在VMware中分辨率太小,无法通过GUI修改分辨率的解决方法

【Kylin】V10系统在VMware中分辨率太小&#xff0c;无法通过GUI修改分辨率的解决方法 解决办法1.打开终端方法1&#xff1a;方法2 2.输入 xrandr 命令&#xff0c;查询分辨率支持的列表3.选择适合的分辨率 。 例如&#xff1a;xrandr -s 1440x900_60 问题如下图&#xff1a; 保…

C++感受10-Hello Object 生死版•下

搞懂以下三个重要知识点&#xff1a; 对象生命周期对象内存模型对象的可见性 ff12-HelloObject-生死版-下 1. 生命周期 只要是数据&#xff0c;就需要占用内存空间。程序将内存分成多个区&#xff0c;其中最重要的是栈区和堆区。放在栈区的数据&#xff0c;称为栈数据或栈对象&…

uniapp分包,以及通过uni-simple-router进行分包

先说一下uniapp的直接分包方式&#xff0c;很简单&#xff1a; 配置分包信息 打开manifest.json源码视图&#xff0c;添加 “optimization”:{“subPackages”:true} 开启分包优化 我们在根目录下创建一个pagesA文件夹&#xff0c;用来放置需要分包的页面 然后配置路由 运行到…

开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

市场上首个K8s上的大数据平台&#xff0c;开源啦&#xff01; 智领云自主研发的首个 完全基于Kubernetes的容器化大数据平台 Kubernetes Data Platform (简称KDP) 开源啦&#x1f680;&#x1f680; 开发者只要准备好命令行工具&#xff0c;一键部署 Hadoop&#xff0c;Hi…

【论文笔记】Language Models are Few-Shot Learners B部分

Language Models are Few-Shot Learners B 部分 回顾一下第一代 GPT-1 &#xff1a; 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式&#xff1b;模型架构是基于 Transformer 的叠加解码器&#xff08;掩码自注意力机制、残差、Layernorm&#…

【win10相关】更新后出现未连接到互联网的问题及解决

问题背景 在win10更新完系统之后&#xff0c;第二天电脑开机后&#xff0c;发现无法上网&#xff0c;尝试打开百度&#xff0c;但是出现以下图片&#xff1a; 经过检查&#xff0c;发现手机是可以上网的&#xff0c;说明网络本身并没有问题&#xff0c;对防火墙进行了一些设置…

采用前后端分离Vue,Ant-Design技术开发的(手麻系统成品源码)适用于三甲医院

开发环境 技术架构&#xff1a;前后端分离 开发语言&#xff1a;C#.net6.0 开发工具&#xff1a;vs2022,vscode 前端框架&#xff1a;Vue,Ant-Design 后端框架&#xff1a;百小僧开源框架 数 据 库&#xff1a;sqlserver2019 系统特性 麻zui、护理、PACU等围术期业务全覆…