首页 > 其他分享 >Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

时间:2023-12-17 13:33:06浏览次数:44  
标签:VueCLi vuecli Vue 文件 App 项目 vue 组件 我们

1. 文件分析

1. 补充:

  1. 什么叫单文件组件?

    一个文件中只有一个组件

  2. vue-cli创建的项目中,.vue的文件都是单文件组件,例如App.vue

2. 进入分析

1. package.json: 项目依赖配置文件:

image.png

如图,我们说主要的属性:

  • name: 项目的名称
  • version: 项目版本
  • scripts: 脚本入口
    • serve: 启动项目命令
    • build: 打包项目命令
  • dependencies: 生产环境的依赖包
  • devDependencies: 开发环境的依赖包
  • eslintConfig: eslint的配置

2. vue.config.js: vue-cli的配置文件,配置代理、打包优化等等

3. 项目的容器public文件下的index.html

image.png

4. 项目核心文件src

image.png

  1. main.js:项目的入口文件: image.png

不了解template的朋友,可以再看一下多文件组件的第4点(template模板使用组件案例),template属性内的内容会完全替换掉容器中的内容。 2. App.vue image.png

  • 每一个 *.vue 文件都由三种顶层语言块构成:<template><script><style>
    • template块:我们也可以称之为模板块,在里面写我们的html代码或者自定义组件,
    • script块:我们也可以称之为逻辑块,在里面写我们的Vue逻辑代码,
    • style块:我们也可以称之为样式块,在里面写我们的css样式
  • 结合main.js看,我们为什么称之为App.vue为根组件呢?

    是因为我们整个的项目会把App.vue作为一个根,渲染到容器中,其他的功能以组件的形式最终被放到App.vue内部。所以App.vue也可以称之为所以组件的父组件。而其他的组件被称之为子组件。一次类推,子组件也会有子组件,所以就形成了我们的组件树模式。 image.png

3.组件:因为安装项目时安装了vue-router,所以上述的App.vue截图里没有script块,我们此时打开views下的HomeView.vue查看:

image.png

5. 打包后的文件dist:

我们创建的项目最后要部署是要执行npm run build/yarn build命令的,最终打包出来的文件就是dist文件,如图: image.png

我们打开index.html: image.png

文件内除了容器标签,其他的什么标签页什么都没有,那么我们写的组件在哪里呢?

当我们执行打包命令的时候,脚手架vue-cli会将我们写的代码打包成js文件,最后通过script标签引入 image.png

*.js.map文件是方便我们调试的

分析到此吧,下一节我们开始正式进入单文件组件内部的学习

标签:VueCLi,vuecli,Vue,文件,App,项目,vue,组件,我们
From: https://blog.51cto.com/Itstars/8861345

相关文章

  • 基于vue脚手架练习3
    <template><div><first-page-3:person="person"></first-page-3></div></template><script>importFirstPage3from'./FirstPage3.vue'exportdefault{components:{Firs......
  • ​Vue虚拟DOM:如何提高前端开发效率
    前言随着前端技术的不断发展,越来越多的框架和库涌现出来,其中Vue.js成为了最受欢迎的前端框架之一。Vue.js采用了响应式数据绑定和组件化的思想,让开发者可以更加高效地构建交互式的用户界面。而Vue.js的底层原理涉及到许多概念和技术,其中虚拟DOM是Vue.js的核心概念之一。本篇文章将......
  • vue3+vite+js中二次封装axios
    一、安装axiosnpmiaxios二、文件结构涉及到的文件:utils/request.sjapi/index.js(可以根据不同页面在api文件下新建不同文件夹,方便管理)vite.config.js三、request.js对axios进行简单的二次封装importaxiosfrom"axios";constrequest=axios.create({//......
  • Vue3响应式概念
    响应式的基本概念响应式是指当数据发生变化时,系统会自动更新与数据相关的DOM结构。在Vue2中,响应式系统的实现基于 Object.defineProperty。然而,Object.defineProperty 有一些局限,如:无法监听数组的变化、需要遍历对象的每个属性进行监听、性能开销较大。在Vue3中,响应式系统......
  • Vue 2 即将停止更新
    本文翻译自Vue2isApproachingEndOfLife,作者:EvanYou,略有删改。随着2024年即将到来,我们借此机会提醒Vue社区,Vue2将于2023年12月31日终止更新(EOL)。Vue2.0在7年多前的2016年发布。它是Vue成为主流框架旅程中的一个重要里程碑。许多现在的Vue开发者是在Vue2时代开始使用......
  • springboot008基于位置的多分馆图书馆推荐系统vue
    第一章整体文档第二章需求分析2.3开发工具及技术2.3.1SpringBoot框架2.3.2Maven环境2.3.3MySQL数据库2.3.4Vue.js框架第四章网站功能实现4.1系统实现4.2后台功能4.2.1管理员登录界面图4.2.1.1登录界面4.2.2系统首页4.3前台功能4.3.1新用户注册登录4.3.2首页4.4数据......
  • springboot009保险信息网站(vue)
    1绪论1.1研究背景随着互联网的不断发展,现在人们获取最新资讯的主要途径来源于网上新闻,当下的网上信息宣传门户网站的发展十分的迅速。而保险产品,作为当下人们非常关注的一款能够给人们带来医疗、生活、养老或者理财需求的产品逐渐的被广大的人们所接受。当前的保险公司对于保险......
  • [Vue] props属性
    vue2里组件的一个属性,用来传递组件外部发来的数据传递数据<Studentname="Bob"age=22/>接收数据--3种方法//1.receivingdataonly//组件里的props属性,和data/method同级props:['name','age']//2.datatypelimitedprops:{ name:String, age:Number}/......
  • uniapp nvue 手指缩放
    uniapp nvue中俩个手指按下,每次只会监听到一个 uniapp 中双指缩放,touch.scale为当前的缩放比例<template> <[email protected]="move"@touchmove.stop="moving"> {{touch.scale}} </view></template><script>exportdefault{......
  • video标签 视频暂停播放的问题,vue中同一个video标签中多个视频的播放问题
    获取后来返回来的视频地址放在了elment的走马灯里面进行自动切换要求:实现双击在弹窗中播放,弹窗大小【1000*550】(第一点)原视频和弹窗内视频互斥,不可同时播放(第二点)上传多个视频,左右切换时,不可同时播放(第三点)鼠标移入走马灯不自动轮播,点击播放时不自动轮播,鼠标移出,走马灯开始自动......