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,一经查实,立即删除!

相关文章

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

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

Python项目2 数据可视化

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

【论文笔记】Planning-oriented Autonomous Driving

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

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

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

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…

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

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

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

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

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

文章目录 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;这个…

LeetCode700:二叉搜索树中的搜索

题目描述 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 null 。 代码 递归法 class Solution { public:TreeNode* searchBST(TreeN…

Visual Studio code无法正常执行Executing task: pnpm run docs:dev

最近尝试调试一个开源的项目&#xff0c;发现cmd可以正常启动&#xff0c;但是在vs中会报错&#xff0c;报错内容如下 Executing task: pnpm run docs:dev pnpm : 无法加载文件 E:\XXXX\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;请参阅 http…

组合导航的结果分段跳变问题

1 现象 用上海代数律动公司的AlgoT1-3组合导航设备采集数据进行组合导航算法调试&#xff0c;AlgoT1-3机器输出的结果很好很平滑&#xff0c;AlgoT1-3是带GNSS/INS的组合导航设备&#xff0c;另外还有一款更贵一点的带视觉的组合导航AlgoT1&#xff0c;效果会更好一些&#xf…

【Tars-go】腾讯微服务框架学习使用03-- TarsUp协议

3 TarsUP协议 统一通信协议 TarsTup | TarsDocs (tarscloud.github.io) TarsDocs/base at master TarsCloud/TarsDocs (github.com) &#xff1a; 有关于tars的所有介绍 每一个rpc调用双方都约定一套数据序列化协议&#xff0c;gprc用的是protobuff&#xff0c;tarsgo是统一…

每日OJ题_01背包③_力扣494. 目标和(dp+滚动数组优化)

目录 力扣494. 目标和 问题解析 解析代码 滚动数组优化代码 力扣494. 目标和 494. 目标和 难度 中等 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; …

ThreadX:怎么确定一个线程应该开多少内存

ThreadX&#xff1a;如何确定线程的大小 在实时操作系统&#xff08;RTOS&#xff09;ThreadX中&#xff0c;线程的大小是一个重要的参数。这个参数决定了线程的堆栈大小&#xff0c;也就是线程可以使用的内存空间。那么&#xff0c;我们应该如何确定一个线程需要多大的字节呢…

C语言-----结构体详解

前面已经向大家介绍过一点结构体的知识了&#xff0c;这次我们再来深度了解一下结构体。结构体是能够方便表示一个物体具有多种属性的一种结构。物体的属性可以转换为结构体中的变量。 1.结构体类型的声明 1.1 结构体的声明 struct tag {member-list;//结构体成员变量 }vari…

MySQL进阶二

目录 1.使用环境 2.排序窗口函数 3.聚合窗口函数 1.使用环境 数据库&#xff1a;MySQL 8.0.30 客户端&#xff1a;Navicat 15.0.12 接续MySQL进阶一&#xff1a; MySQL进阶一-CSDN博客文章浏览阅读452次&#xff0c;点赞9次&#xff0c;收藏4次。MySQL进阶操作一。https…

P4631 [APIO2018] 选圆圈

题目传送门https://www.luogu.com.cn/problem/P4631 代码传送门https://www.luogu.com.cn/record/155489748 本弱鸡抄的~

【linux篇】ubuntu安装教程

有道是工欲善其事必先利其器&#xff0c;在学习linux前&#xff0c;先得搭建好环境才能事半功倍。 1.VMware虚拟机安装 打开浏览器&#xff0c;可直接在搜索栏中输入VMware。