使用vue-cli搭建spa项目

2023-09-22 12:20:31

目录

什么是vue-cli

安装vue-cli

使用脚手架vue-cli(来构建项目)

vue项目结构的说明

 基于spa项目完成路由

基于spa项目完成嵌套路由 


什么是vue-cli

Vue CLI是一个官方发布的用于快速搭建Vue.js项目的命令行工具。它提供了一套交互式的脚手架,可以帮助开发者初始化项目、配置构建工具、管理依赖等。

安装vue-cli

打开cmd窗口,输入下面代码回车即可

npm install -g vue-cli

 

使用脚手架vue-cli(来构建项目)

我们在安装的nodejs的目录下,代开cmd窗口输入下面代码

vue init webpack   项目名

创建好spa项目之后,会出现下面九个问题,我们一一作出回答即可

 

第一个问题是项目名字,直接回车就可以了,

第二个问题是创建一个vue项目,直接回车即可,

第三个问题是创作者的名字可以输入自己的名字就行,

第四个直接回车即可,

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

第六个是否用ESLint来限制你的代码错误和风格。N 

第七个是否安装单元测试  选N就行,

第八个是否安装e2e测试  选N即可,

第九个也直接回车即可

 接着他就会生成项目,在刚刚我们目录下就可以看见有,我们打开软件,导入即可

最后在cmd窗口输入下面两行代码即可

cd spa1

npm run dev

vue项目结构的说明

  1. src目录:这是项目的主要源代码目录,包含了Vue组件、样式文件、JavaScript文件等。一般情况下,你的开发工作都会在这个目录下进行。

    • main.js:这是项目的入口文件,通常用来创建Vue实例,并引入其他必要的库和组件。
    • App.vue:这是根组件,是整个应用的主要组件。它包含了应用的整体布局和结构。
    • components目录:这个目录用来存放应用的其他Vue组件。你可以在这里创建和管理各种功能模块的组件。
    • assets目录:这个目录用来存放应用所需的静态资源,如图片、样式文件等。
    • router目录:如果你使用了Vue Router来管理路由,那么你可以在这个目录下配置路由相关的文件。
    • store目录:如果你使用了Vuex来进行状态管理,那么你可以在这个目录下配置Vuex相关的文件。
    • utils目录:这个目录用来存放一些工具函数或者辅助文件,方便你在应用中使用。
  2. public目录:这个目录存放一些不需要经过构建处理的静态资源,例如HTML文件、favicon.ico等。在构建过程中,public目录下的文件会直接复制到最终的构建目录中。

  3. dist目录:这是构建过程生成的目标文件夹,包含了最终生成的静态资源文件和HTML文件。你可以将这个文件夹部署到服务器上,以发布你的应用。

  4. 其他配置文件:在项目的根目录下,还包含了一些其他的配置文件,例如package.json(项目的依赖管理和脚本配置)、babel.config.js(Babel的配置文件)、.eslintrc.js(ESLint的配置文件)等。

以上是一个常见的Vue.js项目结构,你可以根据自己的需求对其进行调整和扩展。

 

 基于spa项目完成路由

新建一个home,vue

<template>
	<div class="homw">这是首页,展示网站最新内容</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>

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

app.vue

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

 

基于spa项目完成嵌套路由 

新建AboutMe.vue和AboutWebsite.vue

<template>
	<div>
		这是站长的简介 
	</div>
</template>

<script>
export default {
  name: 'AboutMe',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

<style>
</style>
<template>
	<div>
		网站的发展史
	</div>
</template>

<script>
export default {
  name: 'AboutWebxite',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

<style>
</style>

在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 AboutWensite from '@/components/AboutWensite'

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: '/AboutWensite',
		    name: 'AboutWensite',
		    component: AboutWensite
		  }
	  ]
    }
  ]
})

最后再去app.vue中重写下面代码即可

 

ok,今天就到这里了,散会 !!!

更多推荐

07JVM_内存模型和CAS与原子类

一、内存模型1.java内存模型Java内存结构是JMM(JavaMemoryModel)的意思。JMM定义了一套在多线程读写共享数据(成员变量,数组)时,对数据的原子性,见性,有序性的规则和保障。1.1原子性什么是原子性?原子性是指一个操作是不可中断的,即使多个线程一起执行,一个线程一旦开始,就不会被其他线程干扰。如

Django系列:Django开发环境配置与第一个Django项目

Django系列Django开发环境配置与第一个Django项目作者:李俊才(jcLee95):https://blog.csdn.net/qq_28550263邮箱:291148484@163.com本文地址:https://blog.csdn.net/qq_28550263/article/details/1328

自动化测试—选择器

根据id选择名字:<inputtype="text"id='searchtext'/>element=wd.find_element(By.CSS_SELECTOR,'#searchtext')element.send_keys('你好')根据class选择元素的两种方式:1.By.CLASS_NAME:element

form组件的封装(element ui ) 简单版本

当你使用Vue.js构建Web应用时,封装可复用组件是提高开发效率和代码可维护性的关键之一。在这篇文章中,我们将探讨如何使用Vue.js来创建一个通用的表单组件,以及如何将它封装成一个可配置的组件。实现思路拿下表单模板一个个的改造(文本,下拉,单选,复选等)按钮默认值的设定rules规则的处理创建通用的form组件这段

Arm机密计算架构技术(Armv9 CCA) 白皮书

1.概述在本篇文章中,我们将介绍机密计算(ConfidentialComputing)在现代计算平台中扮演的角色,并解释机密计算的原理。然后我们将说明Arm机密计算架构(ArmCCA)如何在Arm计算平台中实现机密计算。看完本文后,您将能够:定义机密计算描述复杂的系统信任链了解Realm(机密领域)是由ArmCCA引入

网络安全进阶学习第十八课——业务逻辑漏洞(附录:不同行业业务逻辑的漏洞)

文章目录一、互联网行业二、P2P金融行业三、电商行业四、政务行业总结一、互联网行业通用业务模块业务逻辑漏洞登录暴力破解用户名密码撞库验证码爆破和绕过、手机号撞库、账户权限绕过注册恶意用户批量注册、恶意验证注册账户、存储型XSS密码找回重置任意用户账户密码、批量重置用户密码、新密码劫持、短信验证码劫持、用户邮箱劫持篡改后

leetcode 1921. 消灭怪物的最大数量(每日一题)

最近学习的状态找回很多。慢慢来吧,加油!1921.消灭怪物的最大数量你正在玩一款电子游戏,在游戏中你需要保护城市免受怪物侵袭。给你一个下标从0开始且长度为n的整数数组dist,其中dist[i]是第i个怪物与城市的初始距离(单位:米)。怪物以恒定的速度走向城市。给你一个长度为n的整数数组speed表示每个怪物的速度,其

2023年中国研究生数学建模竞赛D题解题思路

为了更好的帮助大家第一天选题,这里首先为大家带来D题解题思路,分析对应赛题之后做题阶段可能会遇到的各种难点。稍后会带来D题的详细解析思路,以及相关的其他版本解题思路成品论文等资料。赛题难度评估:A、B>C>E、F>D选题人数评估:D>E、F>C>A、BD题区域双碳目标与路径规划研究以当下热门话题双碳碳中和为命题背景设置

孙哥Spring源码第24集

第24集处理AOP【视频来源于:B站up主孙帅sunsSpring源码视频】【微信号:suns45】1、谈一下你对ApplicationContext的理解BeanFactoryPostProcessorsBeanPostProcessor1.BDBeanFactoryPostProcessors、BeanPostPr

专利申请流程详解

专利申请的流程1、实用新型专利:是指对产品的形状、构造或者其结合所提出的适于实用的新的技术方案,指对有具体产品结构提出的改进或创造。与发明相比,实用新型专利申请对于技术的要求更低一点,在审查的时候不会进行详细的检索和对比,授权时间快,但实用新型的保护力度与发明专利的保护力度是不一样的。所需材料:请求书、说明书、权利要求

在内网部署docker工程总结

前言本次部署的内容主要包括:mysql,redis,nacos,java项目,前端项目,python项目。一安装docker环境首先在拥有网络环境的电脑上下载docker安装包,下载地址可以参考如下:https://download.docker.com/linux/static/stable/x86_64/下载完成之

热文推荐