• 使用vue-cli搭建SPA项目


    一.SPA项目的构建

    前提

    nodeJS环境已经搭建完毕

    node -v

    npm -v

    什么是SPA项目

    SPA(Single Page Application)项目是一种使用单页面架构的Web应用项目。在SPA项目中,整个应用程序只有一个HTML页面,通过动态加载数据和更新DOM来实现页面的切换和展示,而不需要每次跳转页面都向服务器发送请求进行页面刷新。

    传统的多页面应用(MPA)每个不同的页面都对应一个URL地址,当用户点击链接或输入不同的URL时,浏览器会向服务器发送请求,服务器返回对应的页面内容,然后浏览器进行页面的刷新和渲染。而在SPA项目中,初始时加载应用的单个HTML页面,并通过JavaScript进行动态的数据获取和页面更新,只改变页面中的局部内容,而不需要进行整个页面的刷新和重新渲染。

    SPA项目的特点包括:

    1. 单页面结构:整个应用只有一个HTML页面,通过动态加载数据和更新DOM来实现页面切换和展示。

    2. 前后端分离:SPA项目通常采用前后端分离的架构,前端负责数据的获取和页面的展示,后端负责提供数据接口。

    3. 异步加载:SPA项目采用异步加载数据的方式,通过AJAX、Fetch等技术与服务器进行通信,获取数据并更新页面。

    4. 路由系统:SPA项目使用路由系统来管理URL地址和对应的页面展示,通过URL的变化实现页面的切换。

    5. 富交互性:SPA项目能够实现丰富的用户交互和动态效果,提升用户体验。

    SPA项目在前端开发中越来越流行,它可以提供更好的用户体验和性能表现,适用于响应式和移动端开发。一些流行的前端框架和库,如Vue.js、React和Angular等,都提供了构建SPA项目的支持。开发者可以利用这些框架和库来快速搭建SPA项目,实现灵活和高效的Web应用。

    什么是vue-cli

    (Command Line Interface)是一个用于快速搭建Vue.js项目的脚手架工具。它是一个基于Node.js的命令行工具,提供了一套初始化、开发、构建和测试Vue.js项目的标准化工具链。 Vue CLI可以帮助你快速创建一个新的Vue项目,并提供了一些常用的开发工具和配置选项,例如: 1. 项目初始化:通过Vue CLI可以轻松创建一个新的Vue项目,包括必要的文件结构和配置文件。 2. 开发服务器:Vue CLI提供了一个开发服务器,可以在本地实时预览和调试你的Vue应用。 3. 内置的构建工具:Vue CLI集成了Webpack等构建工具,可以帮助你打包和优化Vue项目,生成用于生产环境的静态文件。 4. 插件系统:Vue CLI支持插件系统,你可以根据自己的需求选择安装和配置一些常用的插件,以扩展Vue项目的功能和特性。 总之,Vue CLI是一个强大的命令行工具,可以帮助你快速搭建和开发Vue.js项目,并提供了一些常用的开发工具和配置选项,以提高开发效率和项目质量。

     安装vue-cli

    在cmd中分别执行以下语句:

    npm install -g vue-cli

    npm install webpack -g

    安装 

     

     安装成功

      vue init webpack spa1                此命令用于创建SPA项目,它会在当前目录生成一个以

    “spa1”命名的文件夹

     spa1即为项目名,项目名不能用中文或大写字母,然后终端会出现“一问一答”模式

     

    出现以下情况只要不报红就代表建立好了 

     

    把项目导入到 HBuilder X里面

     

    然后在SAP1的根目录打开cmd,输入 npm run dev启动项目,最后会形成,如下图所示

     

    把如图所示网址复制到网页搜索 

     

    出现如图所示即可 

     

    类的介绍:

    build:导包用的类

     config:放配置的类

    node_modules:所有的js依赖都放在这里面

    src:放代码的地方

     

    二.SPA项目中的路由跳转

    新建目录 

     

    使用HTML建立Home.vue和About.vue

     

     

     得到router对象

     

    建立index.js编写
    1. import Vue from 'vue'
    2. import Router from 'vue-router'
    3. import HelloWorld from '@/components/HelloWorld'
    4. import Home from '@/components/Home'
    5. import About from '@/components/About'
    6. Vue.use(Router)
    7. export default new Router({
    8. routes: [
    9. {
    10. path: '/',
    11. name: 'Home',
    12. component: Home
    13. },
    14. {
    15. path: '/Home',
    16. name: 'Home',
    17. component: Home
    18. },
    19. {
    20. path: '/About',
    21. name: 'About',
    22. component: About
    23. }
    24. ]
    25. })
     建立App.vue
     测试结果

     三.基于SPA项目完成嵌套路由

    使用HTML建立AboutMe.vue和AboutWebsite.vue

     AboutMe.vue

    AboutWebsite.vue

     在index.js中重新编写
    1. import Vue from 'vue'
    2. import Router from 'vue-router'
    3. import HelloWorld from '@/components/HelloWorld'
    4. import Home from '@/components/Home'
    5. import About from '@/components/About'
    6. import AboutMe from '@/components/AboutMe'
    7. import AboutWebsite from '@/components/AboutWebsite'
    8. Vue.use(Router)
    9. export default new Router({
    10. routes: [
    11. {
    12. path: '/',
    13. name: 'Home',
    14. component: Home
    15. },
    16. {
    17. path: '/Home',
    18. name: 'Home',
    19. component: Home
    20. },
    21. {
    22. path: '/About',
    23. name: 'About',
    24. component: About,
    25. children:[
    26. {
    27. path: '/AboutMe',
    28. name: 'AboutMe',
    29. component: AboutMe
    30. },
    31. {
    32. path: '/AboutWebsite',
    33. name: 'AboutWebsite',
    34. component: AboutWebsite
    35. }
    36. ]
    37. }
    38. ]
    39. })
    如图所示在App.vue中重写以下代码即可

    测试结果
     
  • 相关阅读:
    LeetCode_496_下一个更大元素Ⅰ
    MySQL排序优化
    本地开发环境大小写不敏感引发的问题
    SpringCloud 源码学习笔记2——Feign声明式http客户端源码分析
    华为云服务器内网vpc对等连接及微服务内网集群搭建处理
    C++——string类用法指南
    【语义分割】2022-HRViT CVPR
    Spring 源码(3)Spring BeanFactory 是怎么创建的?
    数据库迁移-国产化-Oracle迁移至GBase8a(谓词)
    【前端】VUE组件操作
  • 原文地址:https://blog.csdn.net/2201_75455485/article/details/133137077