最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前后端分离项目

    正文概述 掘金(哩哩学编程)   2021-02-01   594

    一、解读前后端分离

    1、前后端不分

    前后端不分,jsp是一个典型写法,jsp和java代码结合起来,刚开始,确实提高了开发效率,但时间长了,大伙发现jsp存在的问题,对于后端程序员来说不懂前端, 所以开发流程一般是这样的:前端设计页面–>后端把页面改造成jsp(把后台数据塞到jsp页面)–>后端发现问题—>页面给前端—>前端不会jsp。互相踢皮球,这种方式效率低下; 特别是互联网 兴起后,一套系统对应多个前端,一般除了PC端, 还有移动的、小程序等,此时前后端不分方式就不是最优的选择。

    2、前后端分离

    前后段分离是将一个单体应用分成两个独立的项目:前端应用和后端应用

    spring boot+jpa+vue+element-ui+MySql

    二、Vue-cli搭建

    前后端分离项目

    三、Vue目录结构介绍

    前后端分离项目

    1. build文件夹,用来存放项目构建脚本
    2. config中存放基本配置信息,最常用的就是端口转发
    3. node_modules存放的是项目的所有依赖,即npm install命令下载的文件
    4. src存放项目的源码
    5. static用来存放静态资源
    6. index.html首页,人口页,也是整个项目唯一的html页面
    7. package.json中定义了项目的所有依赖,包括开发时依赖和发布时依赖

    对于开发者更多操作的是src

    前后端分离项目

    1.assets存放资产文件

    2.components存放组件

    3.router存放路由js文件,用于页面的跳转

    4.App.vue是一个Vue组件,也是项目的第一个Vue组件

    5.main.js相当于java中的main方法,是整个项目的入口js

    main.js

    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/>'
    })
    12345678910111213
    

    1.在main.js中导入Vue对象

    2.导入App.vue,并且命名为App

    3.导入router,默认识别index.js,因此可以省略

    4.所有到导入成功后,创建Vue对象,设置被绑定的节点是‘#app’,‘#app’是index.html文件中的一个div

    5.将router设置到vue对象中

    6.声明一个组件App,App这个组件在一开始已经导入到项目中了,但是无法直接使用,必须声明

    7.template中定义了页面模板,即在App组件中的内容渲染到’#app’这个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>
    1234567891011121314151617181920212223
    
    1. App.vue是一个vue组件,包含三部分内容:页面模板 、页面脚本 、页面样式

    2. 页面模板中定义了一个图片,另一个是router-view

    3. 'router-view‘简单理解为路由占位符

    4. 页面脚本是用来实现数据初始化、事件处理等等

    5. 页面样式

      index.js

    import Vue from 'vue'
    import Router from 'vue-router'
    import HelloWorld from '@/components/HelloWorld'
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/',
          name: 'HelloWorld',
          component: HelloWorld
        }
      ]
    })
    123456789101112131415
    

    1.路由文件,path路径,对应的组件为HelloWorld,即在浏览器地址为/时,在router-view位置显示HelloWorld组件

    四、前后端项目搭建

    1.vue项目启动命令: npm run dev

    2.axios的安装:npm install axios

    3.解决axios不能直接使用问题

    前后端分离项目 解决方法:

      在main.js中添加一下代码

    import axios from 'axios';//加这句引用
    
    Vue.prototype.$http=axios;//加这句赋值
    123
    

    4.跨域问题

    前后端分离项目 在后台解决跨域问题:

    @Configuration
    public class CrosConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS")
                    .allowCredentials(true)
                    .maxAge(3600)
                    .allowedHeaders("*");
        }
    
    }
    12345678910111213
    

    五、Vue+element-ui

    1.在Vue中集成element-ui

    2.在main.js文件中 完整引入 element 组件 :

    App.vue解读

    <div id="app">
        <el-container style="height: 500px; border: 1px solid #eee">
          <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
            <el-menu :default-openeds="['1', '3']" :default-active="'1-1'">
              <el-submenu index="1">
                <template slot="title"><i class="el-icon-message"></i>导航一</template>
                <el-menu-item-group>
                  <template slot="title">分组一</template>
                  <el-menu-item index="1-1">选项1</el-menu-item>
                  <el-menu-item index="1-2">选项2</el-menu-item>
                </el-menu-item-group>
                <el-menu-item-group >
                  <el-menu-item index="1-3">选项3</el-menu-item>
                </el-menu-item-group>
                <el-submenu index="1-4">
                  <template slot="title">选项4</template>
                  <el-menu-item index="1-4-1">选项4-1</el-menu-item>
                </el-submenu>
              </el-submenu>
    12345678910111213141516171819
    

    element-ui后台管理系统主要标签:

    • el-container 构建页面框架

    • el-aside 构建左侧菜单

    • el-menu 左侧菜单内容,常用属性

      :default-openeds="[‘1’, ‘3’]" 默认展开的菜单

      :default-active="‘1-1’"默认选中的菜单

    • el-submenu 可展开的菜单,常用属性:

        index=“1” 菜单的下标,文本类型,不能是数值类型。

    • template:对应 el-submenu 的菜单名
    • i标签 class=“el-icon-message” 设置菜单图标

    未完。。。。

    要领取相关资料需转发

    可关注公众号:乐字节回复123就可以啦~~~


    起源地下载网 » 前后端分离项目

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元