Vue2 —— 学习(六)

news2024/12/23 14:09:38

一、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 = false

new 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.coloradmin.cn/o/1592009.html

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

相关文章

最齐全,最简单的免费SSL证书获取方法——实现HTTPS访问

一&#xff1a;阿里云 优势&#xff1a;大平台&#xff0c;在站长中知名度最高&#xff0c;提供20张免费单域名SSL证书 缺点&#xff1a;数量有限&#xff0c;并且只有单域名证书&#xff0c;通配符以及多域名没有免费版本。并且提供的单域名证书只有三个月的期限。 二&#…

每日一题 第八十九期 洛谷 [NOIP2017 提高组] 奶酪

[NOIP2017 提高组] 奶酪 题目背景 NOIP2017 提高组 D2T1 题目描述 现有一块大奶酪&#xff0c;它的高度为 h h h&#xff0c;它的长度和宽度我们可以认为是无限大的&#xff0c;奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系&#xff0c;在坐标系…

10 Php学习:循环

在 PHP 中&#xff0c;提供了下列循环语句&#xff1a; while - 只要指定的条件成立&#xff0c;则循环执行代码块do…while - 首先执行一次代码块&#xff0c;然后在指定的条件成立时重复这个循环for - 循环执行代码块指定的次数foreach - 根据数组中每个元素来循环代码块 当…

一款免费、开源、可批量识别的离线OCR软件,适用于 Windows7 x64及以上平台

免费&#xff1a;本项目所有代码开源&#xff0c;完全免费。方便&#xff1a;解压即用&#xff0c;离线运行&#xff0c;无需网络。高效&#xff1a;自带高效率的离线OCR引擎&#xff0c;内置多种语言识别库。灵活&#xff1a;支持命令行、HTTP接口等外部调用方式。功能&#x…

【cocos creator】【TS】贝塞尔曲线,地图之间显示曲线,顺着曲线移动

参考&#xff1a; https://blog.csdn.net/Ctrls_/article/details/108731313 https://blog.csdn.net/qq_28299311/article/details/104009804 const { ccclass, property } cc._decorator;ccclass export default class mapPanel extends cc.Component {property(cc.Node)pla…

从零开始编写一个cmake构建脚本

简介 本文档介绍cmake构建脚本编写&#xff0c;包含的一些主要元素和命名规范。 cmake构建脚本编写步骤 cmake构建工具版本要明确 # 命令名字要小写&#xff0c;这条语句要求构建工具至少需要版本为3.12或以上 cmake_minimum_required (VERSION 3.12)工程名及库的版本号明确…

spring boot学习第十七篇:OAuth2概述及使用GitHub登录第三方网站

0. 导言 我们在浏览器上可以访问成百上千个网站&#xff0c;使用每个网站的服务一般都要先注册账号&#xff0c;那么我们为了更好地记忆&#xff0c;一般都会在多个网站使用相同的账号和密码进行注册。那么问题就来了&#xff0c;如果在你注册的网站中有某些个网站的系统设计不…

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

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

VLC-Qt实现简单的视频播放器

VLC-Qt是一个结合了Qt应用程序和libVLC的免费开源库。它提供了用于媒体播放的核心类&#xff0c;以及用于快速开发媒体播放器的GUI类。由于集成了整个libVLC&#xff0c;VLC-Qt具备了libVLC的所有特性&#xff0c; 例如&#xff1a;libVLC实例和播放器、单个文件和列表播放、音…

海山数据库(He3DB)原理剖析:浅析Doris跨源分析能力

Doris湖仓分析背景&#xff1a; Doris多数据源功能演进 Doris的生态近年来围绕湖仓分析做了较多工作&#xff0c;Doris一直在积极拓宽大数据生态的OLAP分析市场&#xff0c;Doris2.0之后为了满足湖仓分析场景&#xff0c;围绕multi-catalog、数据缓存、容错、pipeline资源管理…

LibRadtran使用教程

LibRadtran使用教程 1.简介2.基本语法规则3.例子3.1 例子13.2 例子2 1.简介 关于LibRadtran的介绍以及安装可以参考另一篇博文&#xff1a;Windows系统LibRadtran安装。这里将针对LibRadtran的基础使用&#xff0c;以及基本语法进行介绍。 2.基本语法规则 uvspec < input…

【前端】layui table表格勾选事件,以及常见模块

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《前端》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 表格勾选事…

itop4412编译内核时garbage following instruction -- `dmb ish‘ 解决方案

王德法 没人指导的学习路上磕磕绊绊太耗费时间了 今天编译4412开发板源码时报 garbage following instruction – dmb ish’ 以下是解决方案&#xff1a; 1.更新编译器 sudo apt-get install gcc-arm-linux-gnueabi 更新后修改Makefile 中编译器路径如下图 2.你以为更新完就可…

OpenHarmony实例应用:【常用组件和容器低代码】

介绍 本篇Codelab是基于ArkTS语言的低代码开发方式实现的一个简单实例。具体实现功能如下&#xff1a; 创建一个低代码工程。通过拖拽的方式实现任务列表和任务信息界面的界面布局。在UI编辑界面实现数据动态渲染和事件的绑定。 最终实现效果如下&#xff1a; 相关概念 低代…

【Blockchain】连接智能合约与现实世界的桥梁Chainlink

去中心化预言机试图实现依赖因果关系而不是个人关系的去信任和确定性结果。它以与区块链网络相同的方式实现这些结果&#xff0c;即在许多网络参与者之间分配信任。通过利用许多不同的数据源并实施不受单个实体控制的预言机系统&#xff0c;去中心化的预言机网络有可能为智能合…

【Python习题】用turtle库直角三角形,底边长150,斜边长300,底角60度,线条粗6像素,线条颜色为蓝色,填充颜色为红色

完整题干&#xff1a; &#xff08;1&#xff09;从Python官网下载Python3.7安装包&#xff0c;安装并熟悉 Python IDLE编程环境。 &#xff08;2&#xff09;在 Python IDLE Shell 窗口中编写程序计算圆的周长。 &#xff08;3&#xff09;编写程序&#xff0c;绘制如图1.10…

Java基础第十一课——类与对象(2)

由于类与对象这一部分的知识点很多&#xff0c;而且操作方法也有很多&#xff0c;所以这次将继续深入讨论一下关于类与对象中方法传参、方法重载、构造方法以及this关键字使用方面的知识。 一、方法传参 1.return关键字 return关键字作用 作用场景&#xff1a;方法内 作用…

C语言 函数——函数封装与程序的健壮性

目录 函数封装&#xff08;Encapsulation&#xff09; 如何增强程序的健壮性&#xff1f; 如何保证不会传入负数实参&#xff1f; 函数设计的基本原则 函数封装&#xff08;Encapsulation&#xff09; 外界对函数的影响——仅限于入口参数 函数对外界的影响——仅限于一个…

降额的秘密——不要挑战datasheet!

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海。 什么是降额设计&#xff1f;我们为什么要降额&#xff1f; 额指的是额定工作状态&#xff0c;降额就是…

数据结构——单链表(C语言版)

文章目录 一、链表的概念及结构二、单链表的实现SList.h链表的打印申请新的结点链表的尾插链表的头插链表的尾删链表的头删链表的查找在指定位置之前插入数据在指定位置之后插入数据删除pos结点删除pos之后的结点销毁链表 三、完整源代码SList.hSList.ctest.c 一、链表的概念及…