当前位置: 首页 > news >正文

使用Vue-cli构建spa项目及结构解析

一,Vue-cli是什么?

是一个官方发布的Vue脚手架工具,用于快速搭建Vue项目结构,提供了现代前端开发所需要的一些基础功能,例如:Webpack打包、ESLint语法检查、单元测试、自动化部署等等。同时,Vue-CLI还集成了一些非常实用的插件,例如vuex、vue-router等,让我们的开发更加快速高效。

二,spa是什么?

全称为Single Page Application,是指单页面应用程序。它是Web应用程序的一种架构模式,采用前后端分离的方式,前端负责展示页面和交互,通过异步请求获取后端数据,实现应用程序的动态更新。SPA项目的优点包括响应速度快、用户体验好、降低了数据传输量等。常见的SPA框架包括Angular、React、Vue等。

三,正式构建spa项目

1.安装Vue-cli

npm install -g vue-cli

2.安装 webpack 组件

 npm install -g webpack

命令执行成功之后,检验是否安装成功

vue -V

 安装成功,则会出对应现版本号。如下图所示

同时在node_global文件下会产生文件 

 3. 使用脚手架vue-cli来构建项目

找到Vue项目存放位置,输入cmd

进入命令窗口之后创建SPA项目(项目名字过长会报错) 

vue init webpack 项目名

 如图:

4.启动项目 

cd 项目名   进入创建的SPA项目中

npm run dev 启动项目

 如图:

spa项目默认界面 :

 5.结构介绍

vue-cli2.0版本(版本不同可能会导致结构变化)

build文件夹                          这个文件夹主要是进行webpack的一些配置
webpack.base.conf.js          webpack基础配置,开发环境,生产环境都依赖
webpack.dev.conf.js             webpack开发环境配置
webpack.prod.conf.js          webpack生产环境配置
 build.js                               生产环境构建脚本      
vue-loader.conf.js               此文件是处理.vue文件的配置文件

config文件夹
dev.env.js                         配置开发环境 
prod.env.js                       配置生产环境 
index.js                           这个文件进行配置代理服务器,例如:端口号的修改 
node_modules文件夹     存放npm install时根据package.json配置生成的npm安装                                                          包的文件夹

src文件夹                      源码目录(开发中用得最多的文件夹) 
assets                           共用的样式、图片 
components                  业务代码存放的地方,里面分成一个个组件存放,一个页面是一个组                                      件,一个页面里面还会包着很多组件
router                            设置路由   
App.vue                         vue文件入口界面 
main.js                         对应App.vue创建vue实例,也是入口文件,对应                                                                       webpack.base.config.js里的入口配置  

static文件夹                  存放的文件不会经过webpack处理,可以直接引用,例如swf文件如果要引用可以在webpack配置
                    对swf后缀名的文件处理的loader,也可以直接将swf文件放在这个文件夹引用    
package.json       这个文件有两部分是有用的:scripts 里面设置命令以及在dependencies                                和devDependencies中,
                              分别对应全局下载和局部下载的依赖包

如图:

6. spa项目中使用路由

定义组件

<template><div>这是网站的发展历程</div>
</template><script>
export default {name: 'About',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

 配置路由:

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import HelloWorld from '@/components/Home'
import HelloWorld from '@/components/About'
Vue.use(Router)export default new Router({routes: [{path: '/',name: 'Home',component: Home},{path: '/',name: 'About',component: About}]
})

 

6.嵌套路由的使用

修改Home.vue组件

<template><div> <router-link to="/myvue">本站信息</router-link><router-link to="/myvue">本站信息</router-link>
<router-view></router-view></div></template><script>
export default {name: 'Home',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

 6.2添加新的组件

<template><div>本站存在意义,以及本站简介、功能介绍</div>
</template><script>export default {name: 'mynode',data () {return {msg: 'Welcome to Your Vue.js App'}}}
</script><style>
</style>

<template><div>本站创始人介绍,个人经历,未来发展</div>
</template><script>export default {name: 'myvue',data () {return {msg: 'Welcome to Your Vue.js App'}}}
</script><style>

  路由

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import About from '@/components/About'
import mynode from '@/components/mynode.vue'
import myvue from '@/components/myvue.vue'Vue.use(Router)export default new Router({routes: [{path: '/',name: 'Home',component: Home,
children:[{path:'/mynode',name:'mynode',component:mynode},{path:'/myvue',name:'myvue',component:myvue}]},{path: '/Home',name: 'Home',component: Home},{path: '/About',name: 'About',component: About}]
})

  结果

相关文章:

使用Vue-cli构建spa项目及结构解析

一&#xff0c;Vue-cli是什么&#xff1f; 是一个官方发布的Vue脚手架工具&#xff0c;用于快速搭建Vue项目结构&#xff0c;提供了现代前端开发所需要的一些基础功能&#xff0c;例如&#xff1a;Webpack打包、ESLint语法检查、单元测试、自动化部署等等。同时&#xff0c;Vu…...

自定义Unity组件——AudioManager(音频管理器)

需求描述 在游戏开发中&#xff0c;音频资源是不可或缺的&#xff0c;通常情况下音频资源随机分布&#xff0c;各个音频的操作和管理都是各自负责&#xff0c;同时对于音频的很多操作逻辑都是大同小异的&#xff0c;这就造成了许多冗余代码的堆叠&#xff0c;除此之外在获取各类…...

leetcode 558 设计内存文件系统

题目 Design an in-memory file system to simulate the following functions: ls: Given a path in string format. If it is a file path, return a list that only contains this files name. If it is a directory path, return the list of file and directory namesin th…...

Haproxy负载均衡群集

HAproxy搭建Web群集一、Web集群调度器1、常见的Web集群调度器2、常用集群调度器的优缺点&#xff08;LVS ,Nginx,Haproxy)2.1 Nginx2.2 LVS2.3 Haproxy 3、LVS、Nginx、HAproxy的区别 二、Haproxy1、简介2、Haproxy应用分析3、HAProxy的主要特性4、Haproxy调度算法&#xff08;…...

什么是面包屑导航?

面包屑导航(Breadcrumb Navigation)这个概念来自童话故事“汉赛尔和格莱特”&#xff0c;当汉赛尔和格莱特穿过森林时&#xff0c;不小心迷路了&#xff0c;但是他们发现沿途走过的地方都撒下了面包屑&#xff0c;让这些面包屑来帮助他们找到回家的路。 在网站应用中&#xff0…...

VS2019创建GIt仓库时剔除文件或目录

假设本地有解决方案“SomeSolution” 1、首先”团队资源管理器“-“创建Git存储库”&#xff0c;选择“仅限本地”、“创建” VS会在解决方案目录下自动生成.gitattributes、.gitignore 2、编辑gitignore&#xff0c;直接拖到VS里或者用记事本打开。添加要剔除的文件或文件夹…...

计算机等级考试—信息安全三级真题六

目录 一、单选题 二、填空题 三、综合题 一、单选题...

vue循环滚动字幕

在Vue.js中创建一个循环滚动字幕的效果通常需要使用一些CSS和JavaScript来实现。以下是一个简单的示例&#xff0c;展示如何使用Vue.js创建一个循环滚动字幕的效果&#xff1a; 首先&#xff0c;在HTML中创建一个Vue实例&#xff0c;并添加一个包含滚动字幕的容器元素&#xff…...

扩展pytest接口自动化框架-MS数据解析功能

【软件测试行业现状】2023年了你还敢学软件测试&#xff1f;未来已寄..测试人该何去何从&#xff1f;【自动化测试、测试开发、性能测试】 开篇 MeterSphere的数据源通过html页面上传后&#xff0c;需要将请求方式进行拆分。 get接口的参数&#xff0c;常以params的方式进行传…...

docker容器安装MongoDB数据库

一&#xff1a;MongoDB数据库 1.1 简介 MongoDB是一个开源、高性能、无模式的文档型数据库&#xff0c;当初的设计就是用于简化开发和方便扩展&#xff0c;是NoSQL数据库产品中的一种。是最 像关系型数据库&#xff08;MySQL&#xff09;的非关系型数据库。 它支持的数据结构…...

Python机器学习实战-特征重要性分析方法(3):迭代删除法:Leave-one-out(附源码和实现效果)

实现功能 迭代地每次删除一个特征并评估准确性 实现代码 from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score impo…...

Go的error接口

从本书的开始&#xff0c;我们就已经创建和使用过神秘的预定义error类型&#xff0c;而且没有解释它究竟是什么。实际上它就是interface类型&#xff0c;这个类型有一个返回错误信息的单一方法&#xff1a; type error interface { Error() string } 创建一个error最简单的方…...

RabbitMQ 集群 - 普通集群、镜像集群、仲裁队列

目录 一、RabbitMQ 集群 1.1、前言 1.2、普通集群 1.3、镜像集群 1.4、仲裁队列 一、RabbitMQ 集群 1.1、前言 前面我们已经解决了消息可靠性问题&#xff0c;以及延迟消息问题 和 消息堆积问题. 这最后一章&#xff0c;我们就来解决以下 mq 的可用性 和 并发能力. 1.2、…...

高项新版教程(第四版)解读+学习指导

第四版主要内容 技术部分 信息化教程、软件工程、网络技术是原来的&#xff0c;学习原来的录播。 新基建、工业互联网、车联网、农业现代化、数字化转型、元宇宙等是新增&#xff0c;以直播讲。 管理部分 变化不是太大 。 整合管理、人力变为资源管理、风险管理新增内容。 …...

【Debian】Debian10.0.0安装选项问答

debian的LXQT是什么&#xff1f; LXQT是一套轻量级的桌面环境,主要基于Qt框架开发。 LXQT在debian中的具体特点包括: - 使用Openbox作为窗口管理器,提供平铺式窗口布局。 - 文件管理器为PCManFM-Qt。 - 设置中心集成 debconf 配置界面。 - 支持GTK和Qt应用程序。 - 资源消耗较低…...

【基于React-Native做位置信息获取,并展示出来】

基于React-Native做位置信息获取 在这个里面最重要的是两个部分&#xff0c;一个是位置定位的权限获取&#xff0c;一个是实时位置的监听&#xff0c;在安卓项目中&#xff0c;在 android/app/src/main/AndroidManifest.xml该文件下&#xff0c;在< manifest > 标签内写…...

ansible安装、点对点Ad-Hoc、模块、剧本Playbook

DevOps: 官网&#xff1a;https://docs.ansible.com 自动化运维工具对比 C/S 架构:客户端/服务端 Puppet:基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱 SaltStack:基于 Python 开发,采用 C/S 架构,YAML使得配置脚本更简单.需要配置客户端及服务器…...

Ceph入门到精通-ceph pool 删除导致 misplaced 的原因

misplaced 的原因 Ceph中的misplaced对象是指将对象&#xff08;或对象的副本&#xff09;存储在错误的位置上&#xff0c;这可能会导致性能下降或数据不一致的问题。在删除Ceph池时&#xff0c;可能会导致misplaced的原因有以下几个&#xff1a; 删除过程中的操作失误&#x…...

计算机组成原理课程设计

操作控制和顺序控制 操作控制就是由各种微命令来构成的顺序控制就是由P测试和后续微地址构成的 这就构成了整个微指令的三个部分 访存指令就是实现对主存中的数据进行访问或存储 一、 操作控制字段是由各种微命令来构成的&#xff0c;这些微命令怎么来设计&#xff1f; 一个萝卜…...

《从菜鸟到大师之路 MySQL 篇》

《从菜鸟到大师之路 MySQL 篇》 数据库是什么 数据库管理系统&#xff0c;简称为DBMS&#xff08;Database Management System&#xff09;&#xff0c;是用来存储数据的管理系统。 DBMS 的重要性 无法多人共享数据 无法提供操作大量数据所需的格式 实现读取自动化需要编程…...

使用qt完善对话框功能

1、 完善登录框 点击登录按钮后&#xff0c;判断账号&#xff08;admin&#xff09;和密码&#xff08;123456&#xff09;是否一致&#xff0c;如果匹配失败&#xff0c;则弹出错误对话框&#xff0c;文本内容“账号密码不匹配&#xff0c;是否重新登录”&#xff0c;给定两…...

Day 03 python学习笔记

位运算 基于二进制的运算&#xff08;计算机的底层基于位运算&#xff09; 计算机最小单位&#xff1a;bit (比特/位/二进制) 1byte&#xff08;字节&#xff09; 8bit &#xff08; 0000 0000&#xff09; &&#xff1a;与 &#xff08;全真为真&#xff0c;一假则…...

优化类问题概述

数学建模系列文章&#xff1a; 以下是个人在准备数模国赛时候的一些模型算法和代码整理&#xff0c;有空会不断更新内容&#xff1a; 评价模型&#xff08;一&#xff09;层次分析法&#xff08;AHP&#xff09;,熵权法&#xff0c;TOPSIS分析 及其对应 PYTHON 实现代码和例题…...

第一个 Go 程序“hello,world“ 与 main 函数

第一个 Go 程序"hello&#xff0c;world" 与 main 函数 文章目录 第一个 Go 程序"hello&#xff0c;world" 与 main 函数一.创建“hello&#xff0c;world”示例程序二. “hello&#xff0c;world” 程序结构拆解三、main 函数四、Go 语言中程序是怎么编译…...

MySQL缓冲池Buffer Pool

前言 ​ 在应用系统中&#xff0c;为加速数据访问&#xff0c;会把高频的数据放在「缓存」(Redis、MongoDB)里&#xff0c;减轻数据库的压力。在操作系统中&#xff0c;为了减少磁盘IO&#xff0c;同时为了快速响应&#xff0c;引入了「缓冲池」(buffer pool)机制。 ​ MySQL…...

springboot实现发送邮箱验证码

准备工作 在邮箱官网开放SMTP授权&#xff0c;获取相应密钥&#xff0c;才可以进行发送邮件 这里以网易163邮箱为例&#xff0c;登录邮箱后&#xff0c;依次点击“设置-POP3/SMTP/IMAP” &#xff0c;然后开启SMTP服务。这时候会提示一个授权码&#xff0c;例如&#xff1a;H…...

ESP8266使用记录(三)

通过udp把mpu6050数据发送到PC端 /********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiUdp_12 团队/Team : 太极创客团队 / Taichi-Maker (w…...

基于微信小程序的在线视频课程学习平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉…...

CloudCompare 二次开发(15)——点云添加高斯噪声

目录 一、概述二、代码集成三、结果展示一、概述 不依赖任何第三方点云相关库,使用CloudCompare编程实现点云添加高斯噪声。添加高斯噪声的算法原理见:PCL 点云添加高斯噪声并保存。 二、代码集成 1、mainwindow.h文件public中添加: void doActionAddGassNoise(); //…...

一波免费、好用的API接口分享

全国快递物流地图轨迹查询&#xff1a;【H5物流轨迹、单号识别】通过物流单号和收寄件地址&#xff0c;自动评估物流时效&#xff0c;并在地图中展示包裹运输轨迹。包括顺丰、圆通、申通等主流快递公司。自动识别快递公司及单号&#xff0c;实时查询&#xff0c;稳定高效&#…...

做网站如何购买服务器/站内营销推广方案

一.小产权房签订合同注意事项 1.小产权房签订合同注意事项&#xff1a;应写明双方和小产权房的基本信息&#xff1b;价款的确定方式及总价款、付款方式、付款时间&#xff1b;交付使用条件和日期&#xff1b;质量标准承诺&#xff1b;配套基础设施和公共设施的交付承诺和责任&…...

想做一个赌钱网站怎么做/郑州做网站的大公司

Hive 中对数据访问&#xff0c;有两个服务&#xff0c;Metastore Server 与 HiveServer2。 注意 &#xff1a; 这两个服务是不一样的&#xff0c;简单来说 &#xff1a; Metastore Server 负责对元数据的访问&#xff0c;即表结构&#xff0c;库信息。如 &#xff1a; SHOW DA…...

厦门房地产网站建设/小红书关键词热度查询

K8s已经成为一线大厂分布式平台的标配技术。你是不是还在惆怅怎么掌握它&#xff1f;来这里&#xff0c;大型互联网公司一线工程师亲授&#xff0c;不来虚的&#xff0c;直接上手实战&#xff0c;3天时间带你搭建K8s平台&#xff0c;快速学会K8s&#xff0c;点击下方图片可了解…...

宝塔面板加wordpress/长沙网站搭建优化

文章目录分布式仲裁流程&#xff1f;交换机路由方法&#xff1f;路由&#xff1a;网络延迟计算&#xff1f;线程级并行介绍&#xff1f;线程的不同粒度&#xff1f;并发和并行的区别&#xff1f;数据级并行有哪些&#xff1f;单指令流多线程流 SIMT &#xff1f;分布式仲裁流程…...

企业网站管理系统asp/新闻10 30字

题目&#xff1a;原题链接&#xff08;中等&#xff09; 标签&#xff1a;脑筋急转弯、数学 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(1)O(1)O(1)O(1)O(1)O(1)44ms (31.41%)Ans 2 (Python)Ans 3 (Python) 解法一&#xff1a; class Solution:def bulbSwitch(self, …...

wordpress 拍卖 主题/黄山seo推广

因为 equals() 和 hashCode() 方法是相互关联的。当一个类重写了 equals() 方法时&#xff0c;通常也需要重写 hashCode() 方法&#xff0c;以维护一致性。如果两个对象相等&#xff0c;那么它们的 hashCode() 方法应该返回相同的值。因此&#xff0c;在重写 equals() 方法后不…...