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

news2024/12/29 7:13:21

一,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
    }
  ]
})

  结果

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

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

相关文章

百度SEO不稳定的原因及解决方法(百度SEO不稳定因素的5大包括)

百度SEO优化不稳定介绍&#xff1a;蘑菇号-www.mooogu.cn 随着百度SEO算法的不断变化和升级&#xff0c;许多网站的SEO排名经常出现不稳定的情况&#xff0c;这种情况在一定程度上影响了网站的流量和排名&#xff0c;导致网站的质量评分降低。因此&#xff0c;深入分析百度SEO…

ubuntu的root用户修改密码失败

解决如下&#xff1a; 查看文件属性是否有a或i lsattr /etc/group /etc/passwd /etc/shadow 移除a和i的属性权限 chattr -ai /etc/group /etc/passwd /etc/shadow 再次使用passwd进行修改密码&#xff0c;就成功了

时序预测 | MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测

时序预测 | MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测 目录 时序预测 | MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预…

排序算法-----计数排序

目录 前言&#xff1a; 计数排序 1.算法描述 2. 基本思想 3.实现逻辑 4.示例剖析 5.动图演示 代码实现 1.C/C代码 2.Python代码 算法分析 时间复杂度 空间复杂度 稳定性 局限性 前言&#xff1a; 有没有一种排序时间复杂度为直线正比的排序算法呢&#xff1f;有…

贸易战的影响:跨境电商的“黑洞”风险与机遇

当今全球贸易局势充满了不确定性和动荡。贸易战的阴云笼罩下&#xff0c;跨境电商企业面临着前所未有的挑战&#xff0c;但与此同时&#xff0c;也蕴藏着巨大的机遇。本文将深入探讨贸易战对跨境电商的影响&#xff0c;以及企业在这个新现实中如何应对风险并寻找机遇。 贸易战的…

以京东平台为例写一份电商平台API接口文档

公共参数 请求地址: 申请调用KEY地址 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheSt…

Microsoft edge 设置百度首页

1. 新建页下载插件&#xff1a;New Tab Redirect 怎样将浏览器启动页和新标签页设置为特定的网页-百度经验 (baidu.com) 2. 首页设置百度页&#xff1a; 打开联想电脑管家

Talk | ICCV’23 清华赵天辰:Ada3D-基于动态推理的3D感知模型压缩及软硬件协同优化

​本期为TechBeat人工智能社区第533期线上Talk&#xff01; 北京时间9月21日(周四)20:00&#xff0c;清华大学博士生—赵天辰的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “Ada3D-基于动态推理的3D感知模型压缩及软硬件协同优化”&#xff0c;他…

Go面试题:锁的实现原理sync-mutex篇

在Go中&#xff0c;主要实现了两种锁&#xff1a;sync.Mutex(互斥锁) 以及 sync.RWMutex(读写锁)。 本篇主要给大家介绍sync.Mutex的使用和实现原理。 文章目录 为什么需要锁在Go中对于并发程序进行公共资源的访问的限制最常用的就是互斥锁&#xff08;sync.mutex&#xff09…

理清SpringBoot CURD处理逻辑、顺序

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 理清SpringBoot CURD处理逻辑、顺序 Controller&#xff08;控制器&#xff09;&#xff1a; 控制器接收来自客户端的请求&#xff0c;并负责处理请求的路由和参数解析…

汽车电子AEC Q101车规认证FDD9507L-F085 P沟道MOS管

深力科带你了解关于汽车电子AEC Q101车规认证&#xff1f; 是一种针对分立半导体的可靠性测试认证程序&#xff0c;由汽车电子协会发布。这个认证程序主要是为了确保汽车电子产品在各种严苛的条件下能够正常工作和可靠运行。它包括了对分立半导体的可靠性、环境适应性、温度循…

配置文件和系统变量

文章目录 系统变量和配置文件1. 系统变量2. 配置文件的使用2.1 配置文件格式2.2 启动命令与选项组2.3 特定的MYSQL版本的专用选项组2.4 同一个配置文件中多个组的优先级2.5 命令行和配置文件中启动选项的区别 系统变量和配置文件 1. 系统变量 除了在用SET临时方式设置&#x…

【Vue】安装并使用vue-cli搭建SPA项目

目录 一、Vue-cli安装 1.1 什么是Vue-cli 1.2 安装Vue-cli 1.3 使用Vue-cli构建项目 二、SPA项目 2.1 导入、运行SPA项目 2.2 vue项目结构说明 2.3 .什么是*.vue文件 2.4 基于SPA项目完成路由 2.5 基于SPA项目完成嵌套路由 一、Vue-cli安装 1.1 什么是Vue-cli Vue CL…

ubuntu 配置NTP时间服务器

sudo apt update 显示秒&#xff08;进入Top Bar 打开second&#xff09; sudo apt install gnome-tweaks 安装ntp服务器 sudo apt install ntp 在服务端修改ntp配置开放客户端所在的网段 sudo gedit /etc/ntp.conf restrict 172.19.7.0 mask 255.255.255.0 nomodify notrap 重…

java - 散列算法 SHA-256 hash值计算

文章目录 前言java - 散列算法 SHA-256 hash值计算1. 散列算法是什么?2. 散列算法的主要特征是什么?3. 计算SHA-256值有没有可能重复4. SHA-256算法实现示例 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作…

Python实现MYSQL蜜罐

1 LOAD DATA INFILE介绍 首先开启一个Mysql&#xff0c;看一下mysql是如何读取主机文件的。 1.1 linux搭建mysql 1&#xff09;docker运行mysql 2&#xff09;启动Mysql docker run -itd…

【docker安装Mysql并配置主从复制】

Mysql主从复制 目的&#xff1a; 是为了后面naocs集群的服务配置做准备工作 准备工作 准备至少两台虚拟机或服务器&#xff0c;安装好了docker&#xff0c;找到他们的ip地址 后面操作都用xshell操作来代替 拉取并启动mysql镜像和容器 主机的命令为mysql01&#xff0c;对…

综述 | 实时三维形状测量技术的综述

原创 | 文 BFT机器人 随着人工智能和机器人技术的快速发展&#xff0c;实时三维形状测量技术变得愈发重要。由于机器人通常在动态环境中操作&#xff0c;因此机器人装备的三维形状测量技术需要能够实时从运动的物体中获取三维形状信息。未来的三维机器视觉技术实际上依赖于实时…

个人博客搭建记录

个人博客地址&#xff1a;www.jiasun.top 使用github pagehexo搭建&#xff0c;主题为fluid&#xff0c;搭建步骤参照&#xff1a;Github hexo 实现自己的个人博客、配置主题&#xff08;超详细&#xff09; 主题&#xff1a;https://hexo.fluid-dev.com/ 搭建时的问题&…

eNSP模拟器!通过Cloud云使本机与模拟器互通,成功通过ssh登陆设备!

首先配置云接口&#xff1a; 配置路由器IP地址&#xff1a; [Huawei]int g 0/0/0 [Huawei-GigabitEthernet0/0/0]ip ad 192.168.56.2 24 用本机去ping路由器&#xff0c;路由器成功与本机互通。 ssh登陆配置&#xff1a; [Huawei]user-interface vty 0 4 [Huawei-ui-vty0-4]…