【Vue脚手架项目的结构】

news2024/9/28 19:20:39

目录

1. 关于VUE Cli

2. 修改VUE Cli项目的端口号

3. Vue脚手架项目的结构

4. 关于标签

5. 关于路由配置

6. 关于视图组件

7. 应用Element UI


1. 关于VUE Cli

 VUE Cli:Vue脚手架

在Vue脚手架项目中,使用的是“单页面”的设计模式,也就是说,整个项目中只有1个HTML,而这个HTML是由多个不同的视图组合而成的,每个视图都是可以随时替换为其它视图的,并且,每个视图都由独立的文件来开发。

2. 修改VUE Cli项目的端口号

打开项目下的package.json,原本有以下代码片段:

"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build"
},

将以上serve属性的值后面添加--port 指定的端口号即可修改端口号,例如:

"scripts": {
    "serve": "vue-cli-service serve --port 9000",
    "build": "vue-cli-service build"
},

修改完后,重新启动项目,即可看到占用了9000端口。

3. Vue脚手架项目的结构

Vue脚手架项目的结构:

【.idea】只要是使用IntelliJ IDEA打开的项目,都会生成此文件夹,是IntelliJ IDEA管理项目时使用到的相关文件,此文件夹不应该手动修改,如果此文件夹中出现错误,将此文件夹删除即可,后续IntelliJ IDEA会自动重新创建此文件夹及内部的文件

【★】[node_modules]:当前项目中的依赖项文件所在的文件夹(Vue脚手架项目的依赖项都在当前项目中,不像Java项目的依赖项统一在.m2\\repository下),此文件夹不应该手动修改,在使用GIT管理项目时,此文件夹通常会被配置到.gitignore文件夹,以至于此文件夹不会被提交到GIT服务器,当从其它电脑上拉取项目时,也不会得到此文件夹及内部的文件,则项目是不可以运行的,需要在项目文件夹下执行npm install命令,会自动创建此文件夹,并根据package.json中配置的依赖项来下载所需的所有依赖项

【★】public静态资源文件夹,通常存放.css文件、.js文件、图片等,也可以自行创建文件夹来管理相关文件,当项目启动后,可以以此文件夹作为URL的根路径来访问相关静态资源;

  • favicon.ico图标文件,此图标通常会显示在浏览器的标签栏、收藏夹等位置,此文件的名称是固定的,如果要更换图标文件,必须使用新文件覆盖此文件,文件名不变;
  • index.html是当前项目中唯一的.html文件,默认会显示此文件,通常不编辑此文件;
  • 【src】项目的源文件文件夹;
  • 【assets】资源文件夹,也可以用于存放.css文件、.js文件、图片等,与[public]不同的地方在于此文件是在编译范围之内的,此文件夹下的文件在使用时,应该是不随着程序运行而发生变化的;
  • 【components】视图组件文件夹,通常用于存放.vue文件;
  • 【★】【router】:路由配置文件夹;
  • 【store】公共存储的数据的文件夹;
  • 【★】views一般视图组件的文件夹,通常用于存放.vue文件;
  • 【★】App.vue默认已经绑定到index.html的视图组件,可以理解为是任何一个页面的显示入口;
  • 【★】main.js项目的主配置文件,例如当安装了某个新的软件(添加了新的依赖)后,可能需要在此文件中添加一些配置;
  • .gitignore所有使用GIT管理项目都有此文件,用于配置GIT应该“忽略”的文件或文件夹;
  • babel.config.js是Babel的配置文件,学习初期不关注此文件;
  • jsconfig.json是JavaScript的配置文件,学习初期不关注此文件;
  • 【★】package.json当前项目的配置文件,在创建项目时需要指定此文件作为配置文件,此文件中主要配置了npm命令的相关脚本、当前项目的依赖项;
  • package-lock.json是锁定的配置文件,是根据package.json自动生成的,不可手动修改;
  • LICENSE项目是授权许可文件,当把项目提交到GIT并开源时,需要选择某个开源协议,就会生成此文件;
  • README.md项目的介绍性文件,当第1次打开此项目,或在GITEE主页上,都会显示此文件的内容;
  • vue.config.js是Vue的配置文件,学习初期不关注此文件;

4. 关于<router-view/>标签

在默认的App.vue文件中,源代码中有<router-view/>标签:

此标签表示此处将由别的视图组件来完成显示!具体由哪个视图来显示,取决于当前访问的URL

src/router/index.js中的routes常量中对应的配置!默认的配置如下:

const routes = [
  {
    path: '/',
    name: 'home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'about',
    component: () => import('../views/AboutView.vue')
  }
]

可以看到,以上配置的是路由中的绑定关系,即根路径/绑定了HomeView视图组件,而/about路径绑定了AboutView视图组件,所以,在App.vue中的<router-view>会根据实际访问的URL选择性的显示HomeViewAboutView中的内容!

注意:在任何一个视图组件中,最多只能有1个<router-view/>标签!

5. 关于路由配置

src/router文件夹下的是路由配置文件。

在配置文件中,主要使用路由对象的数组表示路由配置,例如:

const routes = [
  // 暂时省略此处的配置代码
]

数组元素是一个个的路由对象,每个路由对象至少需要配置pathcomponent这2个属性,其中,path表示“路由”,component表示“视图组件”,例如:

const routes = [
  {
    path: '/',
    name: 'home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'about',
    component: () => import('../views/AboutView.vue')
  }
]

以上配置中的name属性并不是必须的!

关于component属性的值,有2种写法:

  • 在当前文件顶部使用import语句导入某个视图组件,并指定名称,component属性的值就是此名称
    • 通常,每个项目只有1个路由配置使用这种方式导入视图组件
  • 使用import()函数导入某个视图组件,作为component属性的值

6. 关于视图组件

在Vue脚手架项目中,视图组件表现为以.vue作为扩展名的文件,这类文件的源代码由3个部分组成:

  • <template>:页面的内容设计,通过在此标签内部添加各其它标签来设计页面上有哪些元素,例如添加<div><h1>、表单控件等,可以使用HTML语法、Vue的特定语法中约定的标签,如果添加了其它依赖,例如Element UI,也可以使用Element UI定义的标签来设计页面内容
    • 注意:<template>标签最多只能有1个直接子标签
  • <style>:设计页面元素的样式,即编写CSS代码
  • <script>:用于编写JavaScript程序代码

7. 应用Element UI

首先,需要通过npm命令安装Element UI:

npm i element-ui -S

安装完成后,还需要在main.js中添加配置:

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

如下图所示:

接下来,可以在当前项目的任何视图中使用Element UI!

即:

  • 以上安装与配置是当前项目中的一次性行为;
  • 以上安装与配置仅作用于当前项目,如果在其它的项目中也需要使用,则需要在其它项目也执行安装并配置;
  • 如果拉取别人的代码,可能需要再次执行npm install以下载Element UI的依赖文件。

个人主页:居然天上楼

感谢你这么可爱帅气还这么热爱学习~~

人生海海,山山而川

你的点赞👍 收藏⭐ 留言📝 加关注✅

是对我最大的支持与鞭策

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

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

相关文章

CentOS Linux 的安装

CentOS Linux 的安装 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;CentOS Linux 的安装 CSDN&#xff1a;CentOS Linux 的安装 说明 本安装说明是基于 Windows 10 下 VMware workstation 16 安装 Linux&#xff0c;Linux 版本是 CentOS 8&#xff0c;需…

IPWorks IoT Java Edition

IPWorks IoT Java Edition 在应用程序中轻松实现物联网(IoT)通信协议。 IPWorks IoT旨在帮助您轻松实现联网设备之间通信所需的IoT协议。支持许多常见协议&#xff0c;包括AMQP、MQTT、STOMP、CoAP等。它包括不依赖任何外部库的本地软件组件。 IPWorks物联网功能 在所有QoS级别…

新员工webpack打包后上传服务器页面空白

某天同事小白使用了webpack开发vue项目&#xff0c;在项目开发完成后&#xff0c;使用命令&#xff1a;npm run build对项目进行打包后发布服务器页面显示空白 排查后发现&#xff1a;webpack打包的时候引入js时使用的是绝对路径导致的 解决方案如下 修改webpack打包文件中的…

[附源码]JAVA毕业设计婚纱摄影管理(系统+LW)

[附源码]JAVA毕业设计婚纱摄影管理&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

【Redis-09】面试题之Redis数据结构与对象-RedisObject(下篇)

承接上篇【Redis-08】面试题之Redis数据结构与对象-RedisObject&#xff08;上篇&#xff09; 8. type-字符串string 8.1 字符串的三种encoding编码&#xff08;int embstr raw&#xff09; 如果保存的是整型&#xff0c;并且可以用long类型标识&#xff08;-9223372036854…

《InnoDB引擎七》InnoDB关键特性-插入缓存

InnoDB 关键特性 InnoDB存储引擎的关键特性包括&#xff1a; Insert Buffer (插入缓冲)Double Write (两次写)Adaptive Hash Index (自适应哈希索引)Async IO (异步IO)Flush Neighbor Page (刷新领接页) 这些特性为InnoDB存储引擎带来了更好的性能以及更高的可靠性。 插入缓冲…

2023年湖北监理工程师考试时间、报名时间、报考条件是什么?

2023年湖北监理工程师考试时间、报名时间、报考条件是什么&#xff1f; 一、2023年湖北监理工程师考试时间&#xff1a; 参考往年的监理工程师考试时间&#xff0c;预计考试时间为5月份。 二、2023年湖北监理工程师报名时间&#xff1a; 2023年湖北监理工程师报名时间预计3月份…

单例模式【JavaEE初阶】

一、单例模式的概念 单例模式是一种常见的设计模式 。单例模式希望&#xff1a;有些对象&#xff0c;在一个程序中应该只有唯一一个实例&#xff0c;就可以使用单例模式 。换句话说&#xff0c;在单例模式下&#xff0c;对象的实例化被限制了&#xff0c;只能创建一个&#xff…

Mybatis源码解析(七):Mapper代理原理

Mybatis源码系列文章 手写源码&#xff08;了解源码整体流程及重要组件&#xff09; Mybatis源码解析(一)&#xff1a;环境搭建 Mybatis源码解析(二)&#xff1a;全局配置文件的解析 Mybatis源码解析(三)&#xff1a;映射配置文件的解析 Mybatis源码解析(四)&#xff1a;s…

使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略

在本文中&#xff0c;我想向您展示如何应用S&#xff06;P500股票市场指数的交易策略。最近我们被客户要求撰写关于交易策略的研究报告&#xff0c;包括一些图形和统计输出。 通过组合ARIMA GARCH模型&#xff0c;从长期来看&#xff0c;我们可以超过“买入并持有”方法。 相…

【MySQL基础】常用指令详解

如果看不清未来&#xff0c;就走好当下的路&#xff0c;做你此刻该去做的事。——《冰雪奇缘2》 目录 1、进入和退出mysql 1.1进入mysql 1.2退出mysql 2、查看mysql中有哪些数据库 2.2.创建数据库 3、使用数据库 3.1开始使用数据库 3.2展示数据库中的表 4、查看表中的…

跨境电商面临“寒冬”考验,如何转型升级入局新赛道(Starday)

近几年随着互联网和高新技术的飞速发展&#xff0c;加之疫情下各国海外贸易政策的管理&#xff0c;跨境贸易模式不断地创新升级&#xff0c;现今的跨境贸易模式已经从线下交易上升为线上交易&#xff0c;各种基于互联网商务网站的电子商务业务和网络公司开始不断地涌现&#xf…

WebDAV之葫芦儿•派盘+FolderSync

FolderSync 支持WebDAV方式连接葫芦儿派盘。 随着业务发展,文件数据增长,如文档更新、资料下载、拍照录像等。如何更好的管理这些资料,不出现丢失的问题就成为了一个很大的问题。也正是有了类似的需求,现在网络上出现了很多的文件同步备份软件。那么,文件同步备份软件哪…

Thread类的start()方法创建线程的底层分析

在Java中通过如下简单代码就可以创建一个新线程 Thread thread new Thread(new Runnable() {Overridepublic void run() {//do something} }); thread.start(); 在start()中又调用了start0()&#xff0c;它才是真正创建线程的方法。 public synchronized void start() {gro…

安全机制(security) - 加解密算法 - 对称加密 - 加解密模式

说明 大部分对称加密算法支持多种加密模式&#xff0c;每种模式的运算结果也不相同。加解密模式是分组加密算法通用的机制&#xff0c;不同算法可能支持相同的加密模式&#xff0c;不同算法支持的加密模式也可能不同。加密和解密需要使用相同的模式才能得到正确的结果。不同的…

CANOE功能介绍

1.CANoe主界面 当计算机安装完CANoe后&#xff0c;用户只需选择“开始”→“所有程序 ”→Vector CANoe 11.0→CANoe 11.0 系 统 菜 单 命 令 即 可 启 动CANoe。 为了快速熟悉CANoe的常用功能&#xff0c;我们可以打开Vector官方的自带例程&#xff0c;一边学习一边实践相关功…

超算/先进计算如何改变现如今对的生活

算力作为新一代的“石油”&#xff0c;与超算/先进计算有着不可分割的紧密联系。 通俗而言&#xff0c;算力泛指计算能力&#xff0c;即数据处理能力。算力大小代表数据处理能力的强弱。从远古的结绳计算到近代的机械式计算&#xff0c;再到现代的数字电子计算&#xff0c;特别…

Ajax学习:设置CROS响应头实现跨域(跨域资源共享)

CROS:跨域资源共享、是官方的跨域解决方案&#xff0c;特点不需要在客户端做任何特殊的操作&#xff0c;完全在服务器中处理&#xff08;支持get post 等&#xff09; 客户端做ajax请求&#xff0c;服务端做相应头设置就可以实现跨域&#xff1a; <!DOCTYPE html> <h…

如何快速构建研发效能度量的指标体系?

本月初&#xff0c;没毛病软件公司的研发总监 Kevin 在参加完公司管理层月度例会后&#xff0c;心情非常糟糕...... 刚才会议中&#xff0c;老板很严肃地问研发总监 Kevin&#xff1a;“我在会议前接到了客户的投诉电话&#xff0c;说产品出现了 Bug&#xff0c;这已经不是第一…

.net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

目录前言Windows窗体应用程序概述&#xff1b;窗体和大部分控件常用的事件创建Windows窗体应用程序使用Visual Studio集成开发环境实现Hello World程序使用常用Windows窗体控件&#xff1b;Label、TextBox、RichTextBox、Button应用示例单选按钮、复选框和分组【例】RadioButto…