美文网首页
前端后端分离开发-前端

前端后端分离开发-前端

作者: 莫以有 | 来源:发表于2019-03-16 13:28 被阅读0次

前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 。它从[网页制作]演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5、CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大

优化

  • 尽量减少HTTP请求 (Make Fewer HTTP Requests)

  • 减少DNS 查找 (Reduce DNS Lookups)

  • 避免重定向 (Avoid Redirects)

  • 使得 Ajax 可缓存 (Make Ajax Cacheable)

  • 延迟载入组件 (Post-load Components)

  • 预载入组件 (Preload Components)

  • 减少DOM元素数量 (Reduce the Number of DOM Elements)

  • 切分组件到多个域 (Split Components Across Domains)

  • 最小化iframe的数量 (Minimize the Number of iframes)

  • 杜绝 http404错误 (No 404s)

简单例子如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js-访问API接口数据-蓝墨云班课练习</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=no">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <!-- 通过CDN引入Vue.js -->
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <!-- 通过CDN引入axios -->
        <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
        <style type="text/css">
            
            body {
                background-color: #EFEFEF;
            }
            
            .top {
                width: 80%;
                margin: 0 auto;
                display: flex;
                justify-content: space-between;
                
            }
            hr{
                width: 80%;
                color: #efefef;
            }
            .container {
                width: 80%;
                margin: 0 auto;
                display: flex;
                flex-wrap: wrap;
                padding-left: 20px;
                padding-top: 10px;
            }
            .card {
                width: 190px;
                display: flex;
                flex-direction: column;
                border: 1px solid #eee;
                margin-right: 20px;
                margin-bottom: 10px;
                background-color: #fff;
                justify-content: center;
                padding-left: 5px;
                padding-right: 5px;
                padding-top: 5px;
            }
            .card img {
                width: 100%;
            }
            p {
                font-size: 12px;
                margin-bottom: 5px;
            }
            .teacher {
                display: flex;
                justify-content: space-between;
            }
            .left {
                display: flex;
            }
            .avatar img {
                width: 30px;
                height: 30px;
                border-radius: 50%;
                margin-right: 5px;
            }
            .code {
                color: #00BBDD;
                margin-top: 5px;
            }
        </style>
    </head>
    <body>
        <div id="app">
            
            <div class="top">
                <p>进行中的班课</p>
                <p>{{courses.length}}个进行中的班课</p>
            </div>
            <hr>
            <div class="container">
                <div class="card" v-for="(course, index) in courses" :key="index">
                    <div class="cover">
                        <img :src="'img/'+course.cover">
                    </div>
                    <div class="course-class">
                        <p>{{course.courseClass}}</p>
                    </div>
                    <div class="course-name">
                        <p>{{course.courseName}}</p>
                    </div>
                    <div class="teacher">
                        <div class="left">
                            <div class="avatar">
                                <img :src="'img/'+course.avatar">
                            </div>
                            <div class="username">
                                <p class="code">{{course.username}}</p>
                            </div>
                        </div>
                        <div class="course-code">
                            <p class="code" v-if="loginUserId === course.userId">{{course.courseCode}}</p>
                        </div>
                    </div>
                </div>

            </div>
        </div>
        <script type="text/javascript">
            
            var app = new Vue({
                el: '#app',
                data: {
                    loginUserId: 1,
                    courses: []
                },
                created: function() {
                    var _this = this;
                    axios.get('http://127.0.0.1:8080/web_war_exploded/courses')
                        .then(function(response) {
                            console.log(response.data);
                            _this.courses = response.data;
                        })
                }
            })
        </script>
    </body>
</html>

结果是:


result.png
  • 考虑到前端与后台的联系,所有的数据都是在数据库中提取,也就是后台所写的各种方法通过调用数据库里的数据在前端进行展现,然后其最终看结果是:


    result2.png

相关文章

  • 前端如何高效的与后端协作开发

    前端如何高效的与后端协作开发 1. 前后端分离 前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由...

  • 前后端分离开发

    含义 前后端分离开发顾名思义,就是将前端后端分离可以同时进行开发.前端就只管前端的事,后端就只管后端的事,比起传统...

  • 前后端分离开发

    前后端分离开发顾名思义,就是将前端后端分离可以同时进行开发.前端就只管前端的事,后端就只管后端的事,比起传统的We...

  • 前端该如何与后端合作?

    1、前后端分离 前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化...

  • 前后端分离-独立于后端的前端开发

    题目:前后端分离-独立于后端的前端开发简介:如何构建 Web 前端 Mock Server 前后端分离真实数据模拟...

  • Django RESTful 系列教程(四)

    前后端分离的好处就是可以使前端和后端的开发分离开来,如果使用 Django 的模板系统,我们需要在前端和后端的开发...

  • 2018-04-27 MVC框架(Model View Cont

    MVC是一种编程模式,也就是前端与后端分离的一种编程思想。前端与后端分离有利于提高开发效率与开发速度,同一后端程序...

  • JS

    一、公司开发模式 1.传统开发模式:JSP套页面2.前后端分离的模式:就是前端干前端的,后端干后端的,然后对接口,...

  • win10安装配置Nginx反向代理【前端】

    前言:现在前端通常使用前后端分离的开发模式,前端本地利用webpack等开发工具起一个本地服务,连接到后端服务开发...

  • DRF初识,以及CORS

    开发模式 普通开发方式(前后端一起写)前后端分离 后端开发: 永远返回HttpResponse为前端提供url( ...

网友评论

      本文标题:前端后端分离开发-前端

      本文链接:https://www.haomeiwen.com/subject/fpajmqtx.html