热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

电商平台搭建笔记

第一章:课程介绍与开发前的准备工作课程导学架构设计:前后端完全分离、分层架构、模块化技术选型:html、css、js、jquery辅助工具:Webpack、N
第一章:课程介绍与开发前的准备工作

课程导学

  • 架构设计:前后端完全分离、分层架构、模块化
  • 技术选型:html、css、js、jquery
  • 辅助工具:Webpack、NodeJs、NPM、Shell
  • 效率工具:Sublime、Chrome、Charles、Git 
  • 课程安排: 一:基础框架的搭建(1)双平台的开发环境按照(2)git仓库的规范化用法(3)webpack脚手架搭建实战
         二:通用模块(1)可高复用工具类设计与封装(2)通用模块设计与独立打包方法(3)高逼格UI开发经 验与技巧
         三:用户模块(1)数据安全性处理方案(2)表单同步/异步验证(3)小型SPA开发
         四:商品模块(1)jQuery插件模块化改造(2)独立组件抽离技巧(3)多功能列表开发
         五:购物车模块(1)商品状态随时验证方案(2)模块内部方法调用方式(3)非Form提交时的数据验证
         六:订单模块(1)Modal式组件封装思想(2)城市级联操作(3)复杂表单回填
         七:支付模块(1)支付宝支付功能对接(2)支付状态动态检测(3)支付成功回执处理
         八:管理后台(1)管理后台实现思路(2)React框架及其组件化(3)React-Router的使用
         九:访问数据分析(1)PV/UV(2)流量来源监控(3)用户特征分析
         十:SEO优化(1)SEO原理(2)关键词的设计(3)SEO监控
         十一:线上部署(1)线上服务器环境搭建(2)自动化发布脚本编写(3)域名规划与nginx配置
         十二:可用性监控(1)外部监控原理(2)第三方监控的设置(3)更高级的监控方式

    需求分析图片描述

  • 需求拆分原则:一:单个迭代不宜太大
              二:需求可交付,能够形成功能闭环
              三:有成本意识,遵循二八原则
              四:有预期的价值提现
  • 提炼核心模块
    图片描述
        

  • 电商功能拆分--用户端
    1. 商品 ->首页、商品列表、商品详情
    2. 购物车 ->购物车数量、添加删除商品、购物车提交
    3. 订单 ->订单确认(地址管理)、订单提交、订单列表、订单详情
    4. 支付 ->支付
    5. 用户 ->登录、注册、个人信息、找回密码、修改密码
  • 电商功能拆分--管理后台
    1. 商品管理 ->添加/编辑商品,查看商品,下架
    2. 品类管理 ->添加品类,查看品类
    3. 订单管理 ->订单列表,订单详情、发货
    4. 权限 ->管理员登录

      架构设计和技术选型

    5. 架构设计--分层架构
      定义:把功能相似,抽象级别相近的实现进行分层隔离
      优势:松散耦合(易维护、易复用、易扩展)
      常见分层方式:MVC和MVVM
    6. 架构设计--模块化
      定义:解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程
      意义:解耦,可并行开发
      模块化方案:AMD,CMD,CommonJS,ES6
    7. 架构设计--模块分析
      图片描述
  1. 技术选型:软件过程、前后端分离、构建工具、框架、版本控制、发布方式
    • 软件过程选择--敏捷开发
    • 前后端分离方式--纯静态html、完全通过接口做数据交互
  2. 优点:完全脱离后端模板,系统复杂度低
  3. 缺点:不太利于SEO
  4. 优化方案:Server Render/蜘蛛定制页面
    • 框架选型:jQuery、Angular、Avalon、Vue、React
      图片描述
  • 构建工具:Webpack
  • 版本控制:git
  • 发布方式
    图片描述

前后端配合方式及数据接口定义

图片描述

图片描述

图片描述


第三章: 项目初始化与基于模块化的脚手架搭建

项目目录结构设计与Git远程仓库建立

  • git仓库的建立:git项目建立、git权限配置、gitignore的配置
  • 目录结构的设计
    图片描述

项目脚手架搭建概要

  • webpack搭建注意事项

    webpack是天生支持commonJS规范【注意:commonJS是一个规范而不是什么语言或者插件】nodeJS是common JS规范的实现,webpack的编译原理是使用nodeJS把commonJS规范下的模块全部转换成浏览器支持的function形式的模块,然后再用模块加载器来组织这些模块,这样一来,commonJS的模块化方案通过webpack的转换就能够在浏览器上运行了。

  1. webpack降级到1.x版本是因为2.x版本压缩js的uglify会在代码中生成一行代码叫Object.default,default是js switch case
    的关键字,IE8看到这个会不兼容,所以要降回1.15版本

  2. 参数说明
    entry:js的入口文件
    externals:外部依赖的声明
    output:目标文件
    resolve:配置别名
    module:各种文件,各种loader
    plugins:插件
  3. WebPack Loaders
  4. WebPack 常用命令
    webpack -p: 发布时用,最小化压缩
    webpack --watch :监听文件改变,自动编译--开发时用
    webpack --config webpack.config.js :改变默认配置文件
  5. webpack-dev-server:监听文件的改变并自动刷新浏览器
    作用:前端开发服务器
    特色:可以在文件改变时,自动刷新浏览器
    安装:npm install webpack-dev-server --save-dev
    配置:webpack-dev-server/client?http://localhost:8088
    使用:webpack-dev-server --port 8088 --line
    • npm和webpack的初始化
      1.npm的初始化:
      > npm install

      2.webpack的安装
      首先在全局安装webpack:

      > sudo npm install webpack -g

      本地项目中安装1.15.0版本的webpack

      > npm install webpack@1.15.0 --save-dev

      webpack对脚本和样式的处理

    • webpack对脚本的处理
  6. Js用什么loader加载?
  7. 官方文档上的例子中entry只有一个js,我们有多个怎么办?
  8. output里要分文件夹存放目标文件,怎么设置?
  9. Jquery引入方法?
    > npm install jquery --save 然后就可以在js文件中通过require方式引入了 var $ = require('jquery'); $('body').html('hello');
    利用第三方cdn
    首先需要在html文件中引入第三方cdn 然后通过webpack配置文件 externals: { 'jquery': 'window.jQuery',//其中jquery来自于全局对象window.jQuery }, 最后:在js文件中通过require方式引入 var $ = require('jquery'); $('body').html('hello');
  10. 我想提取出公共模块怎么处理 ?
    • webpack对CSS的处理
  11. 样式使用怎么的loader?
    2.webpack打包的css怎么独立成单独的文件?
    第四章 项目通用功能开发

    项目通用模块设计和拆分概要(通用JS工具,通用布局,通用样式,通用导航,通用提示页)

    • 通用js封装
  12. 网络请求工具
  13. URL路径工具
  14. 模板渲染工具--hogan
  15. 字段验证&&通用提示
  16. 统一跳转
    • 页面布局技巧
  17. 定宽布局
  18. 通用部分的抽离
  19. icon-font的引入
  20. 通用样式的定义

作者: yqyily 
链接:https://www.imooc.com/article/21181
来源:慕课网

推荐阅读
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
author-avatar
白羊黔中草
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有