Vue脚手架一站式搭建项目

 

一、什么是vue-cli

1.1如果你只是简单写几个Vue的Demo程序,那么你不需要VueCLI脚手架。

1.2.如果你在开发大型项目,那么你需要,并且必然需要使用VueCLI。

  • 1.2.1使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。
  • 1.2.1如果每个项目都要手动完成这些工作,那么无疑效率比较低效,所以通常我们会使用一些脚手架工具来帮助完成这些事情。

1.3.CLI是什么意思?

  • 1.3.1.CLI是Commond-Line Interface,翻译为命令行界面,俗称脚手架。
  • 1.3.2.VueCLI是一个官方发布vue.js项目脚手架。
  • 1.3.3.使用VueCLI可以快速搭建vue开发环境以及对应的webpack配置。

1.4.脚手架长什么样?

 

1.5.脚手架依赖于node.js和webpack

二、安装vue-cli脚手架

//默认安装脚手架3
npm install -g @vue/cli
 
//安装脚手架2
npm install -g @vue/cli-init
 
//脚手架2创建项目
vue init webpack my-project
 
//脚手架3创建项目
vue create my-project

 2.1.安装vue-cli

效果如下图:

 2.2.创建SPA项目

效果如下图:

2.3.一问一答模式答案
完成后需要回答九个问题方可继续创建

         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安装依赖\

   全部选择好回车就进行了生成项目,出现如下内容表示项目创建完成,如下图:

出现如下内容表示项目创建完成,# Project initialization finished!

 

 

三、 运行SPA项目

3.1.导入项目

在spa项目的根目录输入  npm run dev 启动项目   

 

四、基于SPA项目完成路由

首先我们先简单认识一下SPA的项目

大概了解之后就可以开始我们的路由编写。

4.1.案例实操

 ①引入依赖库

  这一步SPA项目已经帮我们做了就直接进行下一步。

 

  ②定义组件

我们仿造SPA的项目进行定义,在src下的components进行创建。

home.vue

<template><div>这里是网站首页</div></template><script>export default {name: 'Home',data () {return {msg: 'Welcome to Your Vue.js App'}}}</script><style></style>

about.vue

<template><div>这里是关于站长</div>
</template><script>
export default {name: 'about',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script><style>
</style>
 ③定义路由与配置路由路径

找到router下面的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: '/Home',name: 'Home',component: Home}, {path: '/About',name: 'About',component: About}]
})
  ④定义触发路由的按钮

找到Aue.js定义路由触发的按钮

<template><div id="app"><!-- <img src="./assets/OIP.jpg " style="width: 300px;height: 300px;"><br> --><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>

4.2.效果展示

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

大家有没有见过一种场景,进入到另一个页面,它的下面还有子页面需要再进行点击方可显示,下面我就给大家展示一下是怎么完成的。

5.1.案例实操

①定义组件

先在我们的About.vue写好触发的按钮

<template><div><!--  这里是关于站长 --><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>

AboutMe.vue

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

AboutWebsite.vue

<template><div>这里是关于站长的一些机密不可查看哦!!</div></template><script>export default {name: 'AboutWebsite',data () {return {msg: 'Welcome to Your Vue.js App'}}}</script><style></style>
②定义路由与配置路由路径

找到router下面的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}]}]
})

注意:由于我们是嵌套路由的关系所以要将子路由挂到About.vue在About.vue添加下列代码

<router-view></router-view>

效果展示:

 

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

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

相关文章

安全基础 --- nodejs沙箱逃逸

nodejs沙箱逃逸 沙箱绕过原理&#xff1a;沙箱内部找到一个沙箱外部的对象&#xff0c;借助这个对象内的属性即可获得沙箱外的函数&#xff0c;进而绕过沙箱 前提&#xff1a;使用vm模块&#xff0c;实现沙箱逃逸环境。&#xff08;vm模式是nodejs中内置的模块&#xff0c;是no…

凹凸贴图和法线贴图的区别

1、什么是凹凸贴图 凹凸贴图&#xff08;bump mapping&#xff09;是一种计算机图形学中的渲染技术&#xff0c;用于在给定的表面上模拟微小的凹凸纹理。通过在表面法线方向上微调每个像素的光照值&#xff0c;可以给平滑的表面增加视觉上的凹凸感。 在凹凸贴图中&#xff0c;每…

DockerKubernetes ❀ Service下Port端口区分

文章目录 概述案例 概述 在Kubernetes中&#xff0c;Service&#xff08;svc&#xff09;是一种抽象机制&#xff0c;用于将一组 Pod 暴露给其他应用程序或服务。Service 可以有三种类型的端口&#xff1a; nodePort&#xff1a;这是 Service 在节点上公开的端口。可以使用此…

TCP SOCKET (KGAS)处理过程

文章目录 1.缘起2.定位执行Job的session3.查看等待事件4. Oracle官方说明5.追踪问题6.根因 1.缘起 最近处理一个长时间运行的job&#xff0c;记录一下处理过程 2.定位执行Job的session SQL>SELECT * FROM DBA_JOBS_RUNNING;SID JOB FAILURES LAST_DATE …

基于微信小程序的校园生活管理系统设计与实现(源码+lw+部署文档+讲解等)

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

软考考试多少分算通过?

软考证书取得需要达到总分45分&#xff0c;每门科目满分为75分。因此&#xff0c;不要小看45分&#xff0c;在考试中获得这个分数并不容易。此外&#xff0c;软考要求一次性通过&#xff0c;如果没有通过&#xff0c;成绩将不被保留。因此&#xff0c;必须在一次考试中成功通过…

服务网格和性能优化:介绍如何通过服务网格提高微服务架构的性能和可扩展性

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

vue3项目学习一:创建vue3项目

创建vue3项目 一、使用vue-cli创建vue3项目1.安装vue-cli2.创建vue3项目 二、初始化项目结构三、导入element-ui 一、使用vue-cli创建vue3项目 1.安装vue-cli 先查看是否安装vue-cli 在cmd窗口输入vue -V查看版本&#xff0c;如果出现 则说明存在vue-cli,如果出现 则需要安…

Mac使用CMakeList编译ImGUi项目

文章目录 创建项目1.下载ImGui2.下载GLAD3.下载GLFW4.编译项目5.运行截图 创建项目 我这里创建一个demo&#xff0c;opengl这个是可以跨平台的&#xff0c;所以在mac上使用ImGui的opengl3示例 1.下载ImGui 我使用的是docking版本的&#xff0c;这个版本支持停靠功能&#xff…

算法 岛屿数量-(递归回溯)

牛客网 BM57. 二维矩阵&#xff0c;值为1表示岛屿&#xff0c;0表示海洋&#xff0c;求海洋中岛屿数量。 解题思路: 遍历二维数组&#xff0c;值为1增加岛屿数量记数&#xff0c;同时对此位置进行单独递归遍历上下左右4个方向&#xff0c;将数组坐标范围内同时值为1的元素置…

【面试篇】集合相关高频面试题

目录 1. ArrayList和LinkedList的区别?2. HashMap和HashTable的区别?1. ArrayList和LinkedList的区别? ArrayListLinkedList数据结构数组链表插入和删除在中间插入或删除元素时需要移动数组中的其他元素,时间复杂度为O(n)只需要调整指针,时间复杂度为O(1)访问元素通过索引…

Spring Boot 篇

1、为什么要用Spring Boot&#xff1f; 独立运行&#xff1a;Spring Boot而且内嵌了各种servlet容器&#xff0c;Tomcat、Jetty等&#xff0c;现在不再需要打成war包部署到容器中&#xff0c;Spring Boot只要打成一个可执行的jar包就能独立运行&#xff0c;所有的依赖包都在一…

Linux Qt5.15.2 编译QWebEngine源码支持音视频H264

背景 默认自带的QWebEngine 因版权问题不支持音视频功能&#xff0c;需要自己编译源码以支持。 平台&#xff1a;Linux&#xff08;UOS V20 1050&#xff09; Qt&#xff1a;5.15.2 准备工作 下载 Qt 5.15.2 对应版本源码&#xff0c;使用镜像网站或者Qt Maintenance Tool工…

【RPC】gRPC 安装及使用

本文记录下 Mac 安装 gRPC 的过程。 参考&#xff1a;官网 1. gRPC 安装 gRPC 安装步骤如下&#xff1a; 克隆 grpc 代码 git clone --recurse-submodules -b v1.58.0 --depth 1 --shallow-submodules https://github.com/grpc/grpc注意&#xff1a;不要直接 git clone http…

计算机竞赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

文章目录 1 前言2 实现效果3 CNN卷积神经网络4 Yolov56 数据集处理及模型训练5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0…

一台PoE交换机可以为多少个设备提供供电?

如今在安防监控领域&#xff0c;许多网络设备都支持PoE供电。在网络监控工程中&#xff0c;为了节省布线成本并提高便捷性&#xff0c;大多数工程商选择使用PoE供电方案&#xff0c;也就是使用PoE交换机为监控摄像头提供电力。那么&#xff0c;一台功率输出以太网&#xff08;P…

AI创作专家,免费的AI创作专家工具

AI创作专家是一种崭新的工具&#xff0c;它们利用先进的人工智能技术&#xff0c;帮助创作者和写手更轻松地应对创作挑战。这些工具不仅可以生成文字&#xff0c;还可以提供灵感、帮助构思和组织思路&#xff0c;使创作过程更加高效。 147GPT批量文章生成工具​www.147seo.com/…

深入探究序列化与反序列化:原理、应用和最佳实践

目录 什么是对象的序列化和反序列化序列化步骤反序列化步骤案例演示Java中哪些字段不能序列化序列化与反序列化的重要性序列化与反序列化的应用场景 什么是对象的序列化和反序列化 序列化&#xff08;Serialization&#xff09;是指将对象转化为字节流的过程&#xff0c;以便于…

想学嵌入式开发,薪资怎么样?

想学嵌入式开发&#xff0c;薪资怎么样&#xff1f; 对于嵌入式工程师来说呢&#xff0c;它重点学习内容就是首先一定要打好基础&#xff0c;如果从编程语言角度来讲&#xff0c;那么可以在语言上选C或者C&#xff0c;你可以选择其中任何一门语言作为你的入门。 最近很多小伙伴…

什么是魔法值

“魔法值”&#xff08;Magic Value&#xff09;是指在代码中直接使用的没有明确含义或解释的常量值。这些常量值通常以硬编码的方式出现在代码中&#xff0c;没有提供清晰的命名或注释来解释其含义。 使用魔法值会给代码的可读性、可维护性和可理解性带来问题。以下是一些使用…