Vue2 —— 学习(六)

一、Vue 脚手架

(一)介绍

Vue 脚手架是 Vue 官方提供的标准化开发工具 (开发平台)

脚手架版本最新版本 是 4.x

文档可以查看 http://cli.vuejs.org/zh/

就是vue 官网文档中 的 vue.cli command line interface

(二)脚手架启动

1.全局安装

进第一次执行全局安装 @vue/cli

npm install -g @vue/cli

2.切换目录

切换到你要创建的目录 然后使用命令创建项目

要在哪里使用创建脚手架就 在终端进入哪个目录下 不要直接就创建

vue create xxx

babel 是用来将 es6 转成 es5 的 

eslint 是进行语法检查的

然后回车等待创建成功

3.启动项目

 进入我们创建的脚手架 cd vue_test

然后运行

npm run serve

然后等待 给我们开启了一个服务器端口是 8080 我们直接访问这个网址就行了

自己用就用 第一句 里面的 

别人也想用就用 下面的 然后就创建完成了 

(三)脚手架内部文件介绍

1.外层文件夹文件

.gitignore 哪些文件夹不想被git 所管理在里面写好

Babel.config.js babel 的控制文件 里面用现成的配置就行不用自己写

package-lock.json 

package.json 包说明书 里面有文件的版本 名字

里面的 serve 就是帮我们创建一个服务器 进行初始化工作我们在准备阶段写的那个npm run serve命令的完整命令就是这个 build 是当我们所有代码都写完了 然后要发给下一个人的时候需要 build

一下是最后进行的编译 lint 是进行语法检查

readme 就是一些注意事项

2.src 文件夹:

main.js

前面我们学习过它是我们创建的 vue 实例 vm 很重要 当我们执行完前面的 npm run serve 就直接运行这个文件了 该文件是整个项目的入口文件

先引入外部的 vue 直接用 import 方法就行,脚手架帮我们下载好了 直接写第一句话就行

然后引入 App 组件 它是所有组件的父组件

第三行是关闭 vue 的生产提示

render 那行先不看 后面单独讲 实现了将 App 组件放入容器中

import Vue from 'vue'
import App from './App.vue'Vue.config.productionTip = falsenew Vue({render: h => h(App),
})
assets

静态资源 可以把一些图片视频 放上去 大家一起使用

app.vue 

就不说了 是放所有组件的 父组件

components

把所有的子组件放进去

3.public 文件夹:
favicon.ico

网站的页签图标

index.html 我们的页面 是整个应用的界面

 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 是针对 ie 浏览器的特殊配置 让ie 浏览器以最高优先级渲染界面

 <meta name="viewport" content="width=device-width,initial-scale=1.0">

开启移动端的理想视口

 <link rel="icon" href="<%= BASE_URL %>favicon.ico"

不用./ 直接使用 它给的格式能避免许多错误

 <title><%= htmlWebpackPlugin.options.title %></title>

标签里面一长串的意思是 直接去 package.json 找到 name 属性当标题 是 webpack 中的插件用法

配置网页的标题

 <noscript>

如果浏览器不支持 js 那么里面的内容就会出现到浏览器上 如果支持是不渲染的

 <div id="app"></div>

容器!

<!DOCTYPE html>
<html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><link rel="icon" href="<%= BASE_URL %>favicon.ico"><title><%= htmlWebpackPlugin.options.title %></title></head><body><noscript><strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><!-- built files will be auto injected --></body>
</html>

(四)render 函数

如果不用 render 的写法 用之前的写法会报错的 因为会提示我们没有引入完整版的 vue 引入的是残缺版的 vue,不能解析模板

1.为什么我们不用完整的 vue 来解析

因为我们只有在程序员开发的时候使用模板解析器 最后的时候 webpack 直接发送解析好的文件 模板解析器 还在里面就多余了 而且占的内存很大 三分之一 我们直接用残缺的 加上 render 更好,让打包完的文件体积更小

2.vue.js 和 vue.runtime.xxx.js 的区别

vue.js 是完整版的 Vue 包含核心功能 和 模板解析器

文件名带 runtime 的都是 残缺的 vue 文件 没有模板解析器

esm 是使用了 es6 语法的

引入残缺的 Vue 没有模板解析器 所以不能配置 template 配置项 得用 render 函数来进行解析

3.用法

里面必须写 rander 函数 而且必须有返回值 不然会报错

而且这个函数能接受参数createElement  这个参数是一个方法,很重要能创建元素 并放入内容,这样就能解析模板了

render(createElement) {return createElement('h1','你好啊') }

简化代码  因为函数内部只有一个参数我们能写成箭头函数的形式 只有一个返回值我们直接省略

然后参数不用那么长的 我们随便定义一个变量 h 当成这个函数变量 里面放上我们 App 组件即可

render: h => h(App)

(五)修改默认参数

vue inspect 能显示默认的参数值 output.js 文件打开就能查看 ,但是不能在这个文件里直接进行修改,这个就是给人看的 并不是真的具体的配置过程

就好像 main.js 是入口函数 是里面默认的参数 指定的 如果修改 名字,就会显示我们 找不到 main.js 它只认 main 这个名

 

红色的部分都是不能改的部分 粉色可以进行任意修改 但是路径也要相应的改变

所有能修改的配置项都在官网中的配置参考中 别的就都不能进行修改了

如果想修改就放在 vue.config.js 文件中 就在最外层

如果修改了里面的属性一定要重新启动这个服务

二、一些属性

(一)ref

用来给元素和子组件注册有用信息是 id 的替代者

就是用来标识 标签的 如果写在 html 标签中 我们获得的是真实的 dom 元素

 <h1 ref="title"></h1>

使用下面的属性进行调用 我们定义的ref 都写在 vc 的原型对象中的 $refs 的对象属性中

我们获得 的是一个真实的 dom 元素

this.$refs.title

如果写在 我们的组件标签一个 id 标签 

  <MySchool id="sch"></MySchool>

我们获得的是  school 组件对应的完整的 dom 结构

如果我们 写的是 ref 标签

  <MySchool ref="sch"></MySchool>

我们获得的是  school 组件的实例对象

this.$refs.sch

 

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

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

相关文章

基于docker-compose做版本升级

#离线做mysql升级 #去可有网络的docker docker pull mysql:latest#将mysql的镜像导出成tar文件到当前文件夹 docker save mysql:latest -o mysql.tar #新无网络机器导入 docker load -i mysql.tar #查看 #进入docker docker exec -it 0e86322c372a /bin/bash docker…

Python 爬虫基础——http请求和http响应

写本篇文章&#xff0c;我认为是能把自己所理解的内容分享出来&#xff0c;说不定就有和我一样有这样思维的共同者&#xff0c;希望本篇文章能帮助大家&#xff01;✨✨ 文章目录 一、 &#x1f308;python介绍和分析二、 &#x1f308;http请求三、 &#x1f308;http响应四、…

第8周 Python面向对象编程刷题

单击题目&#xff0c;直接跳转到页面刷题&#xff0c;一周后公布答案。加入QQ群701657573&#xff0c;随时答疑交流。 218&#xff1a;类对象属性219&#xff1a;坐标对象相加220&#xff1a;计算周长221&#xff1a;学生分数总和222&#xff1a;车辆类中创建引擎类对象223&am…

Python项目2 数据可视化

生成数据 数据可视化 指的是通过可视化表示来探索数据&#xff0c;它与数据挖掘 数据挖掘 紧密相关&#xff0c;而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表 示的小型数字列表&#xff0c;也可以是数以吉字节的数据。 漂亮地呈现数据关…

【论文笔记】Planning-oriented Autonomous Driving

原文链接&#xff1a;https://arxiv.org/abs/2212.10156 1. 引言 目前的自动驾驶工业界通常为不同任务部署不同的模型&#xff0c;但优化的孤立性会导致模块之间的信息损失、误差积累和特征不对齐。 一种更好的设计是将各种任务整合为多任务学习&#xff0c;即为共享的特征提…

设计模式之责任链模式讲解

概念&#xff1a;使多个对象都有机会处理请求&#xff0c;从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有对象处理它为止。最匹配的场景应该就是逐层审批的模式。 责任链模式只有两个角色&#xff…

C++——基础复习——会议室预约系统

一、简介 看了两个不同的C培训课程&#xff0c;最后的实习程序都是这个项目。不看老师的讲解视频&#xff0c;自己试着写了一下&#xff0c;在写的过程中发现当项目需求不固定时&#xff0c;会越写越乱&#xff0c;总是想要添加更高的需求&#xff0c;导致写了删&#xff0c;删…

wife_wife-攻防世界

题目 注册发现可以注册管理员,但是好像有条件 抓包试试 没思路了 看看其他师傅的wp&#xff0c;用到 js 原型链污染攻击 Nodejs原型链污染攻击基础知识 | Savants Blog (lxscloud.top) 网站后端是Node.js搭建的 原型链污染 简单来讲&#xff0c;通过 newUser.__proto__ …

RHCE实验2-DNS服务正反向解析

实验开始 一、DNS正向解析 注&#xff1a; server端&#xff1a;192.168.32.147 node端&#xff1a;192.168.32.141 网址&#xff1a;www.openlab.com 1、server端和node端都关闭安全软件&#xff08;以server端为例&#xff09; [rootserver ~]# setenforce 0 [rootser…

记一次死锁排查

一、代码场景 将FTP服务器设计为多线程形式。 FTP服务器在处理客户端响应时&#xff0c;对数据连接描述符dataFd和控制连接描述符ctrlFd分别进行集中处理。 因为方便用select()多路复用&#xff0c;开两个线程分发连接到来的事件。 1. 整体框架 void addToControlServer (…

java一个接口中比较复杂,这时候调用三次数据库,执行需要3秒,怎么优化

java一个接口中比较复杂&#xff0c;这时候调用2次数据库&#xff0c;执行需要3秒&#xff0c;怎么优化 使用异步执行: 将三次数据库操作放在独立的线程中异步执行,避免串行执行造成的等待时间。 可以使用 Java 的 CompletableFuture 或 Executor 框架来实现异步调用。 比如调用…

【IT资质】CS信息系统建设和服务能力评估详情介绍!你的企业办理了吗 ?

CS信息系统建设和服务能力评估是什么&#xff1f; 《信息系统建设和服务》是指通过结构化的综合布线系统&#xff0c;运用计算机网络技术和软件技术&#xff0c;将各个分离的设备、功能和信息等集成到相互关联的、统一和协调的系统之中&#xff0c;以及为信息系统正常运行提供…

Java基于微信小程序的校园跑腿小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Python中queue和Qt中QQueue

Python中的queue queue模块 实现了多生产者、多消费者队列&#xff0c;适用于安全地在多线程间交换消息的线程编程。其实现了一个基本的先进先出&#xff08;FIFO&#xff09;容器。 queue模块定义了以下类和异常&#xff1a; class queue.Queue(maxsize0)FIFO 队列的构造函…

vue3+element plus图片预览点击按钮直接显示图片的预览形式

1 需求 直接上需求&#xff1a; 我想要直接点击下面这个“预览”按钮&#xff0c;然后呈现出预览图片的形式 ok&#xff0c;需求知道了&#xff0c;下面让我们来看看如何实现吧 ~ 2 实现 template部分 <el-buttontype"primary"size"small"click&qu…

一文读懂“涉密资质”与“保密资质”:不同之处,不容忽视!

什么是涉密资质&#xff1f; 涉密资质分为&#xff1a;涉密信息系统集成资质&#xff08;简称&#xff1a;涉密集成资质&#xff09;、国家秘密载体印制资质。涉密集成资质&#xff0c;该资质是从事涉及国家秘密的计算机信息系统集成业务需要取得的资质有8个行业单项和一个总体…

前端实现流文件下载的完整指南

在现代Web开发中&#xff0c;经常会遇到需要从服务器下载文件的情况。有时候这些文件是事先存储好的&#xff0c;可以通过简单的URL链接直接下载&#xff1b;但有时候&#xff0c;我们需要从数据流中动态生成文件并将其提供给用户。本篇博客将介绍如何在前端实现流文件下载的完…

链表中常见的使用方法逻辑整理

文章目录 1. 链表特点2. 链表创建3. 链表遍历通用方法3.1 在链表的开头添加元素3.2 在链表的结尾添加元素3.3 删除链表的第一个元素3.4 删除链表的最后一个元素3.5 遍历链表3.6 查找链表中的元素3.7 反转链表 4. 常见面试题4.1 相交链表4.2 反转链表4.3 环形链表4.4 环形链表 I…

easyui combobox下拉框组件输入检索全模糊查询

前引&#xff1a; easyui下拉组件&#xff08;combobox&#xff09;&#xff0c;输入检索下拉内容&#xff0c;是默认的右模糊匹配&#xff0c;而且不支持选择。因业务要求需要做成全模糊查询&#xff0c;目前网上搜索有两种方案&#xff1a; 1.修改easyui源码&#xff0c;这个…

测试 moco-runner工具 mock数据

1.下载moco-runner-1.5.0-standalone.jar文件 2.编辑demo.json &#xff08;和jar包在同一级目录&#xff09; 建议不要指定 "headers为application/json&#xff0c; 如果制定了&#xff0c;那么restTemplate调用header为null,调用就会报错400 是一个数组&#xff0c;…