新版前端工程开发指南[未完待续]

前言

这次改造的主要目标:

  1. 解决CSS样式在项目中大量重复引入的问题
  2. 解决对功能样式引用不明确的问题
  3. 全局样式污染问题
  4. 解决代码过大,组价化程度过低的问题
  5. 解决编码过程中,格式化代码问题
  6. 解决eslint检查没有通过代码就上传到代码仓库
  7. 文件代码分离向关注点分离过渡
  8. 优化整体代码风格

技术准备

基础
基础+
  • Pug 是一款健壮、灵活、功能丰富的模板引擎,专门为 Node.js 平台开发。Pug 是由 Jade 改名而来。
  • Stylus 是一个CSS预处理框架
  • CSS Modules 是一个用于模块化和组合 CSS 的流行系统。
  • Git 是一个免费的开源分布式版本控制系统,旨在快速,高效地处理从小型到大型项目的所有事务。
进阶
拓展

Eslint Githook Yargs


为什么选择pug

  1. 无需结束标签
    在html中,几乎每个标签都需要写相应的结束标签,这既耗费时间和精力又使代码更加冗长,而且万一忘了写结束标签会导致不可预期又难以定位的错误。相比之下,pug没有结束标签,代码更加简洁高效。
  2. 强制缩进
    强制缩进有人喜欢有人不喜欢,但是它带来的好处却是无可置疑的:它使得团队中所有人的风格都统一了起来,使得阅读别人的代码不再那么恐怖,让所有人都养成了缩进代码的好习惯,也减少了因为代码格式化产生的冲突等问题。

为什么选择stylus

  1. 语法简洁干净
    语法和 Sass 有一点点类似,但是最大的特点便是没有分号,没有冒号,没有大括号,通过缩进和换行。
  2. 编程式的变量调用
    一切的定义方式都是按照编程的风格定义的,像编程一样的函数调用,像编程一样的变量定义,像编程一样的书写方式。
// 外部变量
font-size = 14px
font = font-size "Lucida Grande", Arial

body
  font font, sans-serif

//编译前
.onemorepaddedbox
  padding-left 20px
  padding-right 30px
  width 1200px - @padding-left - @padding-right
//编译后
.onemorepaddedbox {
  padding-left: 20px;
  padding-right: 30px;
  width: 1150px;
}
  1. 语法容易上手
    官方推荐的是无分号,无冒号,无大括号,但是他可以有分号,可以有冒号,也可以有大括号,也就是说你愿意的话,你完全可以当做普通的 CSS 文件来写,甚至是 Less,Sass 等其他预处理器的风格。

相关文献
[译]为什么使用Stylus

为什么选择 CSS Modules

CSS Scoped

<style scoped>
.example {
  color: red;
}
</style>

<template>
  <div class="example">hi</div>
</template>

转换结果

<style>
.example[data-v-f3f3eg9] {
  color: red;
}
</style>

<template>
  <div class="example" data-v-f3f3eg9>hi</div>
</template>

CSS Modules

<template>
  <p :class="$style.red">
    This should be red
  </p>
</template>
<style module>
.red {
  color: red;
}
</style>

转换结果

<template>
  <p class="_1VyoJ-uZOjlOxP7jWUy19_0">
    This should be red
  </p>
</template>
<script>
export default {
  created () {
    console.log(this.$style.red)
    // -> "_1VyoJ-uZOjlOxP7jWUy19_0"
    // an identifier generated based on filename and className.
  }
}
</script>
<style module>
._1VyoJ-uZOjlOxP7jWUy19_0 {
  color: red;
}
</style>

使用CSS Modules后的变化:

  • 面向组件写样式,不会影响其他样式
  • 不会被全局样式污染

相关文献:
vue-loader CSS Modules介绍
关于CSS Modules的一些介绍和实现


开始

  • 下载并安装nodejs
  • 安装yarn 命令: npm install -g yarn
  • 下载并安装 git
  • 拉工程 命令: git clone {项目地址}
  • 命令:cd {项目文件夹}
  • 命令:yarn
  • 命令:yarn dev

PS:实际使用中,还需要切换到开发分支。


项目结构介绍


编码规范

使用了微调后的 JavaScript Standard Style

  • 无须配置 史上最便捷的统一代码风格的方式,轻松拥有。
  • 自动代码格式化 只需运行 standard --fix 从此和脏乱差的代码说再见。
  • 提前发现风格及程序问题 减少代码审查过程中反反复复的修改过程,节约时间。

插件支持

提高开发效率,关注于业务本身。
stylus-assist 辅助开发编码
Typinator 辅助输入


格式化代码的相关配置

把script加入 'Do not indent children of' 的配置项中

Function deflaration parentheses 选项不要勾上

PS

让我们尽情的享受业务和技术碰撞而迸发出的灿烂烟火吧!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342