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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 使用Vue-cli构建spa项目及结构解析

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

 结果


目录
打赏
0
0
0
0
1
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
121 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
哪些项目适合采用BOT+EPC模式?深度解析
2分钟了解什么是BOT+EPC项目管理模式以及该模式适用于哪些类型的项目。
142 1
哪些项目适合采用BOT+EPC模式?深度解析
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
150 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
108 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
107 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
114 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
Pinia 如何在 Vue 3 项目中进行安装和配置?
Pinia 如何在 Vue 3 项目中进行安装和配置?
阿里云网络安全体系解析:如何构建数字时代的"安全盾牌"
在数字经济时代,阿里云作为亚太地区最大的云服务提供商,构建了行业领先的网络安全体系。本文解析其网络安全架构的三大核心维度:基础架构安全、核心技术防护和安全管理体系。通过技术创新与体系化防御,阿里云为企业数字化转型提供坚实的安全屏障,确保数据安全与业务连续性。案例显示,某金融客户借助阿里云成功拦截3200万次攻击,降低运维成本40%,响应时间缩短至8分钟。未来,阿里云将继续推进自适应安全架构,助力企业提升核心竞争力。
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
260 9

热门文章

最新文章

推荐镜像

更多