Vue之vue-cli搭建SPA项目

目录

​编辑

前言

 一、vue-cli简介

1. 什么是vue-cli

2. vue-cli的重要性

 3. vue-cli的应用场景

二、Vue-cli搭建SPA项目

1. 构建前提(node.js安装完成)

2. 安装vue-cli

3.  使用脚手架vue-cli(2.X版)来构建项目

4. 分析创建spa项目的八个问题

5. 在开发工具中导入新建的SPA项目

6. 启动并访问项目

三、SPA项目实现路由跳转

1. 创建两个新组件

2. 建立路由的关系

3. 设置触发事件

页面演示效果

四、基于SPA项目完成嵌套路由

1. 创建两个新组件

2. 建立路由的关系

3. 设置触发事件

页面演示


前言

        在上一期的博客中我给各位老铁带来了有关Vue之路由及node.js环境搭建,上期的博客就是为本期博客做铺垫。今天我给老铁们带来有关Vue的vue-cli搭建SPA项目,请老铁们自习阅读观看哦。

 一、vue-cli简介

1. 什么是vue-cli

        Vue CLI 是一个基于 Vue.js 的脚手架工具,用于快速搭建和开发 Vue.js 项目。脚手架是一组预设的开发环境和代码结构,方便开发者快速开始新项目,并提供了一系列的命令和配置选项来帮助开发者进行项目构建、开发和部署等工作。Vue CLI 提供了一种简单且标准化的方式来创建、管理和维护 Vue.js 项目,使得开发者能够更专注于业务逻辑的实现而不用过多关心项目的设置和构建过程。

2. vue-cli的重要性

        Vue CLI 的作用是为 Vue.js 项目提供脚手架工具,以简化项目的搭建和开发过程。它的重要性体现在以下几个方面:

  1. 快速搭建项目:Vue CLI 提供了一套标准化的项目结构和配置选项,使得开发者能够快速创建一个基于 Vue.js 的项目,并自动集成了常用的构建工具、开发服务器等。

  2. 插件扩展能力:Vue CLI 具有丰富的插件系统,可以根据需求安装和配置各种插件,如路由、状态管理、代码风格检查等。这些插件能够进一步增强项目的功能和开发体验。

  3. 集成开发服务器:Vue CLI 可以快速启动一个开发服务器,实时监听文件变化并自动刷新页面,方便开发者进行实时预览和调试。

  4. 优化生产打包:Vue CLI 提供了一系列的优化工具和配置选项,可以帮助开发者对项目进行打包优化,包括代码压缩、静态资源合并、懒加载等,以提升项目的性能和加载速度。

 3. vue-cli的应用场景

Vue-cli的应用场景
应用场景说明
单页面应用(SPA)开发Vue CLI 提供了快速搭建单页面应用的能力,可以轻松创建一个具有路由、状态管理和组件化架构的 SPA 项目
多页面应用(MPA)开发虽然 Vue 主要用于构建单页面应用,但 Vue CLI 也能够支持多页面应用的开发。开发者可以通过配置多个入口文件来创建多个独立的页面。
组件库开发Vue CLI 提供了一些命令和工具,方便开发者创建和打包可复用的组件库。开发者可以使用 Vue CLI 创建一个组件库项目,并通过配置进行构建和发布。
原型开发Vue CLI 具备快速搭建原型的能力,可以帮助开发者快速验证想法、设计界面,并与后端进行数据交互。
移动端开发Vue CLI 配合 Vue Native 或 Weex 等框架,可以用于开发移动端的混合应用或原生应用。

二、Vue-cli搭建SPA项目

1. 构建前提(node.js安装完成)

在cmd终端窗口中输入node -v/npm -v指令分别查看node和npm的版本信息

        只有在node.js安装成的情况下才能进行安装vue-cli。

2. 安装vue-cli

随便在那个cmd终端窗口输入一下命令执行,没有先后顺序

npm install -g vue-cli

npm install webpack -g

指令命令之后,会在目录下生成一个文件。vue-cli文件

3.  使用脚手架vue-cli(2.X)来构建项目

在终端命令窗口中输入 vue init webpack spa指令其中spa指的是项目名,运行即可。

回答后续八个问题会自行创建项目

 如下图就说明项目创建成功了

在指定的路径下我们可以找到我们创建好的SPA项目

4. 分析创建spa项目的八个问题

创建spa项目时的八个问采用“一问一答的模式”

 1.Project name:项目名,默认是输入时的那个名称spa1,直接回车

 2.Project description:项目描述,直接回车

 3.Author:作者,随便填或直接回车

 4.Vue build:选择题,一般选第一个

 4.1Runtime + Compiler: recommended for most users//运行加编译,官方推荐,就选它了

 4.2Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specific HTML) are ONLY allowed in .vue files- render functions are required elsewhere//仅运行时,已经有推荐了就选择第一个了

 5.Install vue-router:是否需要vue-router,Y选择使用,这样生成好的项目就会有相关的路由配置文件

  6.Use ESLint to lint your code:是否用ESLint来限制你的代码错误和风格。N  新手就不用了,但实际项目中一般都会使用,这样多人开发也能达到一致的语法

  7.Set up unit tests:是否安装单元测试 N

  8.Setup e2e tests with Nightwatch?:是否安装e2e测试  N

 9.Should we run `npm install` for you after the project has been created? (recommended) (Use arrow keys)

           > Yes, use NPM                    

             Yes, use Yarn

          No, I will handle that myself     //选择题:选第一项“Yes, use NPM”是否使用npm install安装依赖

5. 在开发工具中导入新建的SPA项目

在HBuilder X中右击左侧的项目栏,选择导入,选择从本地路径导入,找到创建好的SPA项目

文件下的各文件用处:

build:构建SPA项目下的发布包用的。(项目开发涉及不多)

config>index.js:开发环境配置文件。

config>prod.env.js:生产环境配置文件。

node_modules:SPA项目中所需到的所有js文件。(后续有需要加的和maven类似一样添加)

src>assets:放置项目静态资源。

src>components:放置.vue文件(通常是通用组件)

后续还需在src的文件下新创建一个view文件夹用于存储业务相关的组件。

src>router:存放定义路由与组件的对应关系的文件。

SPA项目的工作原理

 

6. 启动并访问项目

在指定目录下的cmd窗口中输入 "cd 项目名"的指令访问项目"npm run dev"指令启动项目,然后就可以编写了

 项目启动之后会给我们一个首页路径——http://localhost:8080,在浏览器上访问该路径(如下图所示)

 

三、SPA项目实现路由跳转

1. 创建两个新组件

在components文件夹下创建两个.vue文件作为两个组件。

Home.vue

<template><div class="Home">这是网站首页,宣传内容放在这样</div>
</template><script>
export default {name: 'Home',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

 About.vue

<template><div class="About">这是站长简介</div>
</template><script>
export default {name: 'About',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

2. 建立路由的关系

在src文件下的router文件下的index.js文件中配置路由关系。

index.js

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

运行http://localhost:8080/效果

 

3. 设置触发事件

在App.vue中设置触发事件

App.vue

<template><div id="app"><!--  <img src="./assets/logo.png"> --><router-link to="/Home">首页</router-link><router-link to="/About">关于站长</router-link><router-view/></div>
</template><script>
export default {name: 'App'
}
</script><style>
#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

页面演示效果

四、基于SPA项目完成嵌套路由

1. 创建两个新组件

在components文件夹下创建两个.vue文件作为两个组件。

AboutMe

<template><div class="AboutMe">这是站长简介</div>
</template><script>
export default {name: 'AboutMe',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

AboutWebsite

<template><div class="AboutWebsite">这是网站简介详情</div>
</template><script>
export default {name: 'AboutWebsite',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

2. 建立路由的关系

在src文件下的router文件下的index.js文件中配置路由关系。

index.js

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 AboutMe from '@/components/AboutMe'
import AboutWebsite from '@/components/AboutWebsite'
Vue.use(Router)export default new Router({routes: [//默认首页{path: '/',name: 'Home',component: Home},{path: '/Home',name: 'Home',component: Home},{path: '/About',name: 'About',component: About,children:[{path: '/AboutMe',name: 'AboutMe',component: AboutMe},{path: '/AboutWebsite',name: 'AboutWebsite',component: AboutWebsite}]}]
})

3. 设置触发事件

在About.vue中设置触发事件

About.vue

<template><div class="About"><router-link to="/AboutMe">关于站长</router-link><router-link to="/AboutWebsite">关于本站</router-link><!-- 这是站长介绍,网站的发展史 --><router-view></router-view></div>
</template><script>
export default {name: 'About',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>

页面演示

         本期博客项就到这了,本期与老铁分享了vue-cli搭建PSA项目的步骤以及用SPA项目实现路由跳转及嵌套路由跳转。希望老铁三连加关注支持一波。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android:创建jniLibs的步骤

一、前言&#xff1a; android libs&#xff0c;jniLibs库的基本使用 libs&#xff0c;jniLibs用来存放各种.so库文件。如果没有jniLibs目录需要自己手动创建&#xff0c;并且库名称也不能随便更改。 二、解决方案&#xff1a; 我之前弄了好久也弄不出来&#xff0c;之前有说…

学习记忆——宫殿篇——记忆宫殿——记忆桩——工人宿舍

脸盆铁盒白色泡沫绳子电热炉 6. 椅子 7. 门帘 8. 塑料 9. 书 10.安全帽 11. 凳子 暖壶烟灰缸计算器水杯刷子

selenium+python实现基本自动化测试

安装selenium 打开命令控制符输入&#xff1a;pip install -U selenium 火狐浏览器安装firebug&#xff1a;www.firebug.com&#xff0c;调试所有网站语言&#xff0c;调试功能 Selenium IDE 是嵌入到Firefox 浏览器中的一个插件&#xff0c;实现简单的浏览器操 作的录制与回…

会C++还需要再去学Python吗?

提到的C、数据结构与算法、操作系统、计算机网络和数据库技术等确实是计算机科学中非常重要的基础知识领域&#xff0c;对于软件开发和计算机工程师来说&#xff0c;它们是必备的核心知识。掌握这些知识对于开发高性能、可靠和安全的应用程序非常重要。Python作为一种脚本语言&…

【每日一题】74. 搜索二维矩阵

74. 搜索二维矩阵 - 力扣&#xff08;LeetCode&#xff09; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返…

格式工厂多个图片合并成一个PDF的报错

使用图片合并PDF功能时 当图片数量超过50会报错 找到imgconv.py文件&#xff0c;将50改为500&#xff0c;保存 现在可以支持100张图合并成一个PDF文件了&#xff01; 但是超过150张程序会直接闪退&#xff0c;正在解决中。。 【补充说明】 1.如何设置PDF压缩比&#xff1f;…

macos (M2芯片)搭建flutter环境

安装的版本3.13.4、电脑上没有安装过android studio、安装过brew 1.在终端运行sudo softwareupdate --install-rosetta --agree-to-license&#xff0c;下图展示安装成功的效果 2.下载以下安装包来获取最新的 stable Flutter SDK 3.解压&#xff0c;⚠️注意下载安装sdk的包名…

坚鹏:浙江农商联合银行同业核心产品解读与差异化分析培训第7期

浙江农商联合银行同业核心产品解读与差异化分析培训第7期 1952年&#xff0c;浙江第一家农村信用社成立。2004年4月18日&#xff0c;浙江省农信联社成立&#xff0c;承担对全省农信社的管理、指导、协调和服务职能。2021年10月&#xff0c;经国务院批准同意、银保监会批复&…

Python 计算机二级知识点整理 模拟考试2

1. 2. 一个进程正在等待某一事件的发生而暂时停止执行时&#xff0c;在这种状态下&#xff0c;即使把CPU等资源分配给它&#xff0c;该进程也不能运行&#xff0c;即处于等待状态&#xff0c;又称为阻塞状态或封锁状态。 3. 4&#xff0c; 成功将一个元素退队就证明是之前循环…

【【萌新的FPGA学习之Vivado下的仿真入门-2】】

萌新的FPGA学习之Vivado下的仿真入门-2 我们上一章大概了解了 我们所需要进行各项操作的基本框架 对于内部实现其实一知半解 我们先从基本的出发 但从FPGA 了解一下 vivado下的仿真入门 正好帮我把自己的riscV 波形拉一下 行为级仿真 step1: 进入仿真界面&#xff1a;SIMULAT…

多语言环境系统下的京东商品详情API接口的调用参数详解

获得JD商品详情 API jd.item_get 参数说明 通用参数说明 url说明 https://api-gw.…….cn/平台/API类型/ 平台&#xff1a;淘宝&#xff0c;京东等&#xff0c; API类型:[item_search,item_get,item_search_shop等]version:API版本key:调用key,测试key:test_api_keysecret:调用…

STViT-R 代码阅读记录

目录 一、SwinTransformer 1、原理 2、代码 二、STViT-R 1、中心思想 2、代码与原文 本次不做具体的训练。只是看代码。所以只需搭建它的网络&#xff0c;执行一次前向传播即可。 一、SwinTransformer 1、原理 主要思想&#xff0c;将token按区域划分成窗口&#xff0c…

五笔字根-还有什么是你不懂的

前言 拼音打字永久了&#xff0c;提笔忘字&#xff0c;遇到不认识的就拼不出来&#xff0c;用GPT也不行&#xff0c;你都拼不上去&#xff0c;这不是个好习惯&#xff0c;所以趁此机会学一学五笔输入法。 学习是锻炼大脑的最好方法。 文章目录 前言五笔字根口诀五笔字根口诀…

openGauss学习笔记-73 openGauss 数据库管理-创建和管理索引

文章目录 openGauss学习笔记-73 openGauss 数据库管理-创建和管理索引73.1 背景信息73.2 操作步骤73.2.1 创建索引73.2.2 修改索引分区的表空间73.2.3 重命名索引分区73.2.4 查询索引73.2.5 删除索引73.2.6 创建索引的方式73.2.6.1 创建普通索引73.2.6.2 创建多字段索引73.2.6.…

国家开放大学 考试试题训练

经济数学基础 参考 试题 导数基本公式&#xff1a; 积分基本公式&#xff1a; c0 ∫0dxc xaaxa-1 ∫xadxxa1a1c&#xff08;a≠-1&#xff09; axaxlna(a>0且a≠1) …

【R语言】完美解决devtools安装GitHub包失败的问题(以gwasglue为例)

Rstudio&#xff0c;R4.3.1&#xff0c;命令在Rstudio的命令行即console中运行。 文章目录 一、问题复述二、分析三、解决四、安装示例&#xff1a;gwasglue 一、问题复述 使用devtools安装一个github的包。 devtools&#xff1a; devtools 是 R 语言中一个非常有用的包&…

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

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

java面向对象(九)

文章目录 一、abstract的应用举例二、接口的使用1.概念2.代码案例 三、try-catch-finally使用步骤1.注意点2.finally注意点 四、异常处理的方式二&#xff1a;throws 异常类型1.如图所示&#xff1a;2.代码如下&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xff0…

2021年电工杯数学建模A题高铁牵引供电系统运行数据分析及等值建模求解全过程论文及程序

2021年电工杯数学建模 A题 高铁牵引供电系统运行数据分析及等值建模 原题再现&#xff1a; 我国是世界上电气化铁路运营里程最长、服役电力机车型号最多、运营最繁忙的国家。截至 2020 年底&#xff0c;我国铁路年消耗电量约 800 亿千瓦时&#xff0c;约占三峡年总发电量的 8…

软件的开发步骤,需求分析,开发环境搭建,接口文档 ---苍穹外卖1

目录 项目总览 开发准备 开发步骤 角色分工 软件环境 项目介绍 产品原型 技术选型 开发环境搭建 前端:默认已有 后端 使用Git版本控制 数据库环境搭建 前后端联调 ​登录功能完善 导入接口文档 使用swagger​ 和yapi的区别 常用注解 项目总览 开发准备 开发步骤…