Spring Boot + Vue前后端分离(二)前端Vue启动流程

你好,【程序职场】专注于:Spring Boot ,微服务 和 前端APP开发,闲暇之余一起聊聊职场规划,个人成长,还能带你一起探索 副业赚钱渠道,在提升技术的同时我们一起交流 敏捷流程 提高工作效率,从技术到管理一步步提升自我!
 
标签:一个执着的职场程序员!

上篇文章为大家讲述了 Spring Boot + Vue前后端分离(一)前端Vue环境搭建;本篇文章接着上篇内容继续为大家介绍 前端Vue启动流程。

本文是Spring Boot + Vue前后端分离 系列的第二篇,了解前面的文章有助于更好的理解本文:


1.Spring Boot + Vue前后端分离(一)前端Vue环境搭建


前言

(一).Vue项目结构

(二). 启动流程

上一篇大家都学习到了vue的环境搭建和项目创建,相信对于小伙伴来说都是很easy的,当然创建方式有多种,我比较喜欢使用命令函,还可以使用Idea创建,在idea工具中使用命令行也行,这个在这里就不多说了,有需要的可以自行百度,也很简单,我们今天主要说一下vue前端的项目结构和启动流程,让我们知道我们在跑起来一个项目后他是怎么运行的。

(一).Vue项目结构

 

上面是一个我创建的vue项目,并成功运行,让我们看看他都有哪些部分组成。

我们可以通过思维导图看一下主要的几个点。

 

 

上面的图片中的组成部分我都不再多说了,看图的说明就能明白。

下面说一下三个主要的文件: index.html,App.vue,main.js

# index.html  首页入口文件

<!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width,initial-scale=1.0">    <title>cxzc-vue2</title>  </head>  <body>    <div id="app"></div>    <!-- built files will be auto injected -->  </body></html>

解释:

该文件是一个普通的 html 文件,但是里面有这样的一行 <div id="app"></div> ,下面有一行注释,这样 构建的文件将会被自动注入,也就是说我们编写的其它的内容都将在这个 div 中展示。

index.html文件 在 整个项目只有这一个 html 文件,所以是 单页面应用,当我们打开这个应用,表面上可以有很多页面,实际上它们都只不过在一个 div 中。

# App.vue  根组件文件

<template>  <div id="app">    <img src="./assets/logo.png">    <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>

改文件有三部分组成  template,script,style。

这里也有一个标签 <div id="app">,但跟 入口文件 index.html 里的那个是没有关系的。这个 id=app 只是跟下面的 css样式 对应。

<script>标签里的内容即该组件的脚本,也就是 js 代码,export default 是 ES6 的语法,意思是将这个组件整体导出,之后就可以使用 import 导入组件了。大括号里的内容是这个组件的相关属性。

该文件中最主要的是代码  <router-view/>,是一个容器,路由视图,意思是当前路由( URL)指向的内容将显示在这个容器中。也就是说,其它的组件即使拥有自己的路由(URL,需要在 router 文件夹的 index.js 文件里定义),表面上是一个单独的页面,实际上只是在根组件 App.vue 中。

# main.js  路由配置文件

// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in webpack.base.conf with an alias.import Vue from 'vue'import App from './App'import router from './router'
Vue.config.productionTip = false
/* eslint-disable no-new */new Vue({  el: '#app',  router,  components: { App },  template: '<App/>'})

解释:

改文件中上面 import 了几个模块,其中 vue 模块在 node_modules 中,App 即 App.vue 里定义的组件,router 即 router 文件夹里定义的路由。

Vue.config.productionTip = false ,作用是阻止vue 在启动时生成生产提示。

在这个 js 文件中,我们创建了一个 Vue 对象(实例),el 属性提供一个在页面上已存在的 DOM 元素作为 Vue 对象的挂载目标,router 代表该对象包含 Vue Router,并使用项目中定义的路由。components 表示该对象包含的 Vue 组件,template 是用一个字符串模板作为 Vue 实例的标识使用。

(二). 启动流程

当我们创建好一个项目后 在浏览器中打开项目。

进入页面首先加载index.html和main.js文件。、

main.js文件中给id=“app”的div创建一个Vue的实例,该实例中有一个名叫“APP”的组件,该组件通过vue-router将Hello.vue中的模板注入到App.vue的模板中。

index.html文件

<!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width,initial-scale=1.0">    <title>cxzc-vue2</title>  </head>  <body>    <div id="app"></div>    <!-- built files will be auto injected -->  </body></html>

main.js文件

 

App.vue 文件

 

最终到 helloworld.vue中,这里实现功能界面效果。

 

好了,vue项目的启动原理到这里就ok了,后面就可以和springboot后端框架做前后端分离了,敬请期待下篇。。。

作者:小小蒲公英

  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默的闪客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值