仿B站项目——(1)计划,前端工程

计划

现打算:

  1. 计划用webpack打包 + 模板语言 + jquery + jquery ui + bootstrap做一个仿B站的静态网站。
  2. 网站兼容手机浏览器端。
  3. 部分模块打算仿照SPA用js加载的方式实现。
  4. 数据结构要有方便配置的形式。(便于网站更新)
  5. 网站优化,目前打算用图片懒加载等方法。
  6. 最终结果要与B站90%相同,包括动画,互动等,不包括用户登录,视屏播放等(因为要服务器支持)。

后续打算:

  1. 网站用vue重构。
  2. 把网站做成一个webapp。
  3. 添加服务端。

前端工程

参考前端工程说明的方法来用工程方法构建项目。

项目目的与需求

  1. 熟悉前端工程化流程。
  2. 沿路学习前端工程化所需要的知识。

技术选型

html模板引擎

如果项目使用到 React/Vue/Angular 其中一个,则完全不需要HTML模板引擎。否则可以选择 ejs pug(jade) handlebars 等模板引擎。

个人考虑:我打算先学习一下模板引擎,所以先不用React/Vue/Angular,等之后熟悉了模板引擎之后再重构。我选择ejs模板引擎,原因是它很小巧,我也只需要它来向html中填充数据而已。

css预处理

主流的有 less sass stylus

由于sass(scss)用的人更多,而且腾讯Alloy团队代码规范用的scss,所以我打算用scss

css框架

毫无疑问用Bootstrap,我也想深入学习一下Bootstrap。

js框架

由于先不使用React/Vue/Angular,我选择使用jQuery

es6和js超集

es6是肯定的了。先不打算用js超集,因为用的人还很少,不是太稳定。

兼容性

并不打算兼容ie8及以下,也不打算兼容低版本浏览器。

流程规范

规范选择

  1. 除了缩进,其它使用腾讯Alloy团队的代码规范。(我的js缩进是2个空格)
  2. 使用基于树结构的CSS命名规范
  3. 使用normalize.css而不是reset.css。
  4. 使用nec的命名规则

(另外参考姓氏命名法常用css命名规则)

实际情况制定规范

(1)所有m/文件夹下的css都要以.m-作为前缀。这样看到一个class如果是.m-box则直接去找m/box/index.css,看到.some则直接找HTML同级目录的css文件。

(2)约定完全不要使用ID选择器,class 选择器使用 .m-box-hd-title {} 这种结构命名法降低权重。保持大部分选择器权重都是 0, 0, 1, 0

(3)有时删除了一个 classJS 绑定的事件就失效了,则可以将所有用于 JS 选择的 class 都以 .js- 作为前缀。例如: .js-submit .js-list-remove

原文地址:https://www.cnblogs.com/yangzhou33/p/8542759.html

时间: 2024-07-30 03:56:34

仿B站项目——(1)计划,前端工程的相关文章

[转载]前端工程——基础篇

特别声明:本文转载@云龙的<前端工程——基础篇>,感谢@云龙的分享. 喂喂喂,那个切图的,把页面写好就发给研发工程师套模板吧. 你好,切图仔. 不知道你的团队如何定义前端开发,据我所知,时至今日仍然有很多团队会把前端开发归类为产品或者设计岗位,虽然身份之争多少有些无谓,但我对这种偏见还是心存芥蒂,酝酿了许久,决定写一个系列的文章,试着从工程的角度系统的介绍一下我对前端,尤其是Web前端的理解. 只要我们还把自己的工作看作为一项软件开发活动,那么我相信读过下面的内容你也一定会有所共鸣. 前端,是

读百度张云龙的前端工程有感

小标题:我刚写前端不到半年,学习速度比较快,也可以说比较浮躁,最近在研究node,想自己揽了全栈的活儿,偶然看到了一篇叫前端架构那些事儿的文章,于是跟着文章,我找到了张云龙先生的git,看了一下他对前端架构的看法,自认为深有感触,因此记下来,以告诉自己是有多么肤浅. 张云龙先生以切图仔引入,然而我并不怎么会切图,可以说我是十分业余的前端设计者,我只会敲敲代码,搭搭页面,写写动画,可以说我巧妙地避过了先生说的人们对前端的看法,想一想,“幸运”! “前端,是一种GUI软件”,“从本质上讲,所有Web

前端工程——基础篇

# 前端工程--基础篇 > 喂喂喂,那个切图的,把页面写好就发给研发工程师套模板吧. 你好,切图仔. 不知道你的团队如何定义前端开发,据我所知,时至今日仍然有很多团队会把前端开发归类为产品或者设计岗位,虽然身份之争多少有些无谓,但我对这种偏见还是心存芥蒂,酝酿了许久,决定写一个系列的文章,试着从工程的角度系统的介绍一下我对前端,尤其是Web前端的理解. 只要我们还把自己的工作看作为一项软件开发活动,那么我相信读过下面的内容你也一定会有所共鸣. ## 前端,是一种GUI软件 现如今前端可谓包罗万象

前端工程模块化——以一个php项目为例

实现一个页面功能总是需要 JavaScript.CSS 和 Template 三种语言相互组织,所以我们真正需要的是一种可以将 JavaScript.CSS 和 Template 同时都考虑进去的模块化方案. 前端模块化带来的性能问题 很多主流的模块化解决方案通过 JavaScript 运行时来支持“匿名闭包”.“依赖分析”和“模块加载”等功能,例如“依赖分析”需要在 JavaScript 运行时通过正则匹配到模块的依赖关系,然后顺着依赖链(也就是顺着模块声明的依赖层层进入,直到没有依赖为止)把

2019千锋Web前端幸福西饼整站项目实战

课程目录:├─剪辑视频│      code.rar│      第1集 幸福西饼页面01.mp4│      第2集 幸福西饼页面02.mp4│      第3集 幸福西饼页面03.mp4│      第4集 幸福西饼页面04.mp4│      第5集 幸福西饼页面05.mp4│      第6集 幸福西饼页面06.mp4│      └─原视频        01幸福西饼页面.mp4        02幸福西饼页面.mp4        03幸福西饼页面.mp4        04幸福西饼

前端工程与模块化框架

and others Owner fouber commented on 14 Jun 2014 本文最先发表在 DIV.IO - 高质量前端社区,欢迎大家围观 不要再求验证码了,这个blog目前有800+人订阅,求验证没什么的很影响其他订阅者,可以在div.io上申请,定期会有同学发放的... 一直酝酿着写一篇关于模块化框架的文章,因为模块化框架是前端工程中的 最为核心的部分 .本来又想长篇大论的写一篇完整且严肃的paper,但看了 @糖饼 在 DIV.IO 的一篇文章 <再谈 SeaJS 与

前端工程之模块化

模块化是一种处理复杂系统分解成为更好的可管理模块的方式,它可以把系统代码划分为一系列职责单一,高度解耦且可替换的模块,系统中某一部分的变化将如何影响其它部分就会变得显而易见,系统的可维护性更加简单易得. 前端开发领域(JavaScript.CSS.Template)并没有为开发者们提供以一种简洁.有条理地的方式来管理模块的方法.CommonJS(致力于设计.规划并标准化 JavaScript API)的诞生开启了“ JavaScript 模块化的时代”.CommonJS 的模块提案为在服务器端的

前端工程架构探讨

前端工程架构探讨 一.通常开发模式的问题探讨 下图是一个单页面多模块的工程目录结构图: . ├── Gruntfile.js ├── package.json ├── build └── src ├── base │ ├── base.sass │ └── global.js ├── mods │ ├── preference │ │ ├── index.js │ │ ├── index.sass │ │ └── index.xtpl.html │ ├── promo │ ├── qr │ └─

前端工程与性能优化

每个参与过开发企业级 web 应用的前端工程师或许都曾思考过前端性能优化方面的问题.我们有雅虎 14 条性能优化原则,还有两本很经典的性能优化指导书:<高性能网站建设指南>.<高性能网站建设进阶指南>.经验丰富的工程师对于前端性能优化方法耳濡目染,基本都能一一列举出来.这些性能优化原则大概是在 7 年前提出的,对于 web 性能优化至今都有非常重要的指导意义. 然而,对于构建大型 web 应用的团队来说,要坚持贯彻这些优化原则并不是一件十分容易的事.因为优化原则中很多要求与工程管理