前端开发:怎样写一手雅观的 Vue

明日听到一句生猛与鼓舞并存,可怕与窘迫同在,最无奈也无解的话:“90后,你的中年危机早就杀到”。那令我很受震撼。显明,这多少言过其实了,但就现阶段这日复一日的平庸下去,眨眼的功夫,那情形就会在这骨感的切实可行面前,悄然的被呈现。所以,越发体验到,当必要有计划的去做,去写,去玩,去嗨,利用好这荷尔蒙分泌还算旺盛的时节,去厚积去得到,去发现去折腾;让自己的性命不在仅是办事与迷惘,还有岁月分与“诗和角落”。不用分析,就理解这该怎么去做,高效去做到工作,然后去学着优雅地生而活。近来犹身为前端开发者,且在利用
Vue,那么就有了此文;这不光是记录或享受,也是在遥远之路上下求索,更期望能探索和带领,以资见识,进步其效。

图片 1

微注: 先河在写[怎样优雅地利用Sublime
Text]时候,前后历经12月,至今虽不断更新犹在,离该话题也是天壤之别。所以,谈及此一个大面积话题的存在,欲一谈也须深远钻研,非朝夕可至;所以本篇将运用不定期更新,当然,这么做,也是医疗自己拖延症之一法子;另外也是限量聚合网抓取的一种尝试。 
更新: 对于怎么构建 VueJs 项目,自然推荐官方的脚手架 vue-cli 
;而对此微小型项目,个人倒挺看好poi —— (Delightful web
development),它能让你非常轻便的应用当前风行的框架(Vue
React等)。即使如此呢,很多业界朋友,对 Vue
项目标构建,依旧不顺畅;鉴于此,有按照过往的略微经验,设计出一套样板
——vue-boilerplate-template,以供参考,当然也目的在于朋友给予指正。其中已经凭借了vue-router 
vuex、 vue-i18n、 element-ui、 bootstrap 诸多库;也注入了 webpack、 Eslint、 pre-commit等等便捷开发有关的库。其中对与后台接口调用与使用,vuex
的应用,视图结构的扶植,路由和多语言的布置,公共措施的调度,webpack打包优化等等,都基于便捷开发的前提下,做了相应的规划,希望有缘人会欣赏;这一番计划缘由,得空会另起一篇作品予以注解;而这番设计也会,在不停的上学中连连革新,敬请期待

随言:
身在先后的人间,如你是一位即将出征武士,对决于浩瀚无尽的需求大军;那么你不单需要一副好的体魄,还需要一身技艺:而这软件工程学 
(抑或加算法)就好比内功(查克拉);而所利用的各家语言 
,则好如武学招式(独孤九剑?);这加以运用的各个工具,当如随身利器(小李飞刀?);这属于自己一套极致开发流程,便是轻功(电光神行步?)……如是斯言,那么作为开发者的你,几技傍身耶? 
如上随言,此篇准备从以下多少个方面来探索:

什么杰出使用 Vue 之工具篇

欲先利其器,必先利其器,这是此博客一大倡导;关于什么优雅地去写好
Vue,工具自是首当其冲要提及的,毕竟这特别重要;在您选取采纳 Vue
来从事前端开发的那一刻,你早已允许的这一论点:毕竟 Vue 也是用原生 Js
写的,Js 则是用 C 语言写,而 C 又是汇编写的…..
这不再是刀耕火种的年份,而你也未用汇编或 C
来缓解你的急需,So,你是同意的。既是同情的,岂有不用好它的道理?那么来一头讨论下:

外设:除了这些舒适坐骑与书桌外,双屏突显器,Mac则是必需外设装备;你知道,一屏编辑器中写着代码的还要,就能在另一屏
Chrome 下看看表现,这很快捷便捷,也令人异常掀拳裸袖。而 Mac
这设备中堪称优雅情人的存在,更是居家良品。倘使,所处的做事条件没那么讲究效用,或者未显现出该片段慷慨,则肯定须善待自己的生气和岁月,勇于将协调的开支环境打造美好。

软件:身为开发职员,你电脑以及中间安排的软件,就好如武士手中的利剑,是助你大杀四方的留存;所以无论是用它来玩一玩恶作剧,如故来问候把Dota,抑或是搞搞需求,皆卓殊有必不可元帅其锋利化。因而,诸如
阿尔弗列德(Alfred)(Alfred),Brew,Iterm2,Oh-my-zh,Git等必备就不说了;对于前端开发,编辑器与浏览器的部署与行使,尤其重点(对于那或多或少广大前端开发者,尚未达标合格,一如其程度);对于浏览器,只援引Chrome,不只是浏览或者调试,更在于其寻找。而编辑器则推荐 SublimeText3与 AtomVsCode也很棒的留存,写前端后台都丰硕趁手(目测
Google也都力推之);不太推荐应用 WebStorm,因为其除去反人类的操作设计外,感受不到其它可记住点。

广阔:使用 Vue
开发支出前端,当须保持对科普工具连串,平日保持关注,比如NodeNpm(Yarn)WebpackGulp等,以及Lodashsuperagentd3等工具库,再有就是
Vue
系本身具库,譬如Vue-clivue-router等救助;再有就是不停衍生出来的
Vue 插件扩大。Atwood定律中解说到:Any application that can be written in
JavaScript, will eventually be written in
JavaScript.(翻译过来即是:凡是能用JavaScript写出来的,最终都会用JavaScript写出来)。这些理论同样适用于
Vue,它大概强大的存在,吸引了重重超厉害的开发者或集体,为其贡献了成千上万好用的组件库。比如:
饿了么出品的Element-UI,还有 vue-echartsvue-multiselect ……
具体可以参见awesome-vue,略睹其繁华似锦。

图片 2(web前端学习沟通群:328058344
禁止闲聊,非喜勿进!)

哪些优良使用-Vue-之基础篇)怎么样可以使用 Vue 之基础篇


软件工程学,作为程序员,本就该是当学好的一门技术。像[代码大全2]以及[次第整洁之道],一定是急需优异读一读的。Web
前端开发,因其入门的容易性(还有需要的饱满),培育了这一行涌进了过多急功近利者,也惊现了过多令人“不堪卒读”的代码。而前者发展日新月异,如无法渐而控制,长期来看,委屈的倒也不全是人家(读你代码者),更是温馨;举个通俗的例子来讲,如无经济学会很好的团队代码结构,即便有权威写了架构,一旦项目渐大,不也是依然面临被自己坑苦的凄惨?事实上,不乏很多开发者,未能养成很好的编码素养,基础如变量方法命名,也是能令人心惊肝颤;很扎眼这是损人不利己的作为,势必当善之。

对于团体来讲,Eslint实质上是需要配备的利器;既然难以管教每个人都很有造诣,那么必须适度强制;至少制止了丛生些杂乱不堪的代码,以乱军心。当然,使用起先,总会有些人不太适应,所以玩转编辑器的严重性,就再也反映出其市值了;由此也引出了自动化(半)工作流的话题了,那在今后的始末中会加以研究。

前者基础技术,从事前端开发,长久之计来看,基本功是非常紧要的;尤其是
JavaScript;这在写 Vue 时候,也突显的相比显著。其他如
Html,Css,自然不用说;除此之外,Scss
等预处理器,也是当学习并加以运用,以升级开发效率,节省开发成本;毕竟只有节约出充分的时间来,才会去做更多优化,节约出更多精力与时间,一个完美的轮回就此能够形成。

Vue 基础,那点很重大,熟读[Vue.js
官方教程],再没有比这更好的教程了;依照在此以前经验来看,心急是吃不到热豆腐的,欠下的也毕竟得还;至少先导需通读之,否则碰到题目,无法立即稳住出在何方查究,这活脱脱会浪费更多时间。除此之外,Github
上找一份好的微型项目,认真读下,可以发掘出很多值得学习的玩法。

善用配置,《代码大全》第 18 章,讲到表驱动法(Table-Driven
Methods),对于编程从业者,很有必要一读。很多时候,可凭借查询表来加以简化逻辑和继续树关系。这在协会合作,分模块开发形式抱有更匪夷所思价值;应该善于配置,将逐条模块予以抽离,使得彼此间不存强倚重,如此开发环节也大大的避免代码争执。譬如,通晓JavaScript 特性,即可做如下写法:

const files = require.context('.', true, /\.svg$/)
const modules = {}
files.keys().forEach((key) => {
  if (key === './index.js') return
  modules[key.replace(/(\.\/|\.svg)/g, '')] = files(key)
})
export default modules

如此即可写出便捷的 [Icon Component],使用时只需添加新 Svg 入
assets,然后引用 icon 时填写对应 Svg
名字即可,至极有益;推此及它,我们可依靠这样安排,去解释、组合各样模块,甚是方便。


Vue有三大特点,非常令人欢喜;一是其数量的双向绑定,即:通过数据绑定链接View和Model,让多少的扭转自动映射为视图的翻新。另一个是其数额驱动的零部件系统,即:用嵌套的机件树来叙述用户界面(而一个组件恰恰可以对应MVVM中的ViewModel),其三是依照构建工具的单文件组件格式,即其所提供了精锐的loader
API,来定义对不同文件格式的预处理逻辑,从而让我们得以将CSS、模板,甚至是自定义的文件格式等,当做JavaScript模块来行使,极大提高了代码的可复用性;Webpack
基于loader仍是可以够实现大气高等效能,比如自动分块打包并按需加载、对图片资源引用的机关定位、遵照图片大小决定是否用base64内联、开发时的模块热替换等等。当然
Vue 还富有任何若干令人击节叫好的设计。

鉴于此,即便可以很熟练的操纵其数量的绑定与传输,组件的开支,以及常见
Webpack
等息息相关安排,则能将采纳水平就是进入了一个新的层系。据以往经历来看,这不是一件容易的事宜,毕竟使用这Vue
也是随着解决急需去了,而非在搞琢磨。什么人能说开车出发的驾驶员,能领悟关乎车的有所?相信,接下去的很长日子里,都须对这几下面加以学习、探索,然后加以利用。

什么样可以使用-Vue-之实战组件篇)怎么着可以使用 Vue 之实战组件篇


Vue
一大特点是用嵌套的组件树来描述用户界面。所以组件的宏图与编辑至关重要;至少要保管他是便于修改和维护,可复用性和可读性高,耦合度低,接纳团队合作性开发…

诸此等等。项目只要庞杂,更得事先考虑好一切架构的宏图,使其显明合理;组件缓存的拔取、制止过重组件的衍生
… 。而 Vue
组件系统又是有多少所驱动,更得兼顾数据在各个零部件间通信,避免数据被多方操作,Bug
难以稳定等题材。

这是一个须长期积聚的技艺,非朝夕可至。但,部分内容只需刻意关注,即可见其功能的。比如,简明且见名知义的命名,杰出的编码规范,团队统一编码风格,以担保代码的可读性。运用设计形式原则,比如单一任务规范,将零件拆分抽离成更细粒度,保证组件功用单一,以升级组件复用行;再如接口隔离原则,接纳稳定的服务端接口,将扭转模块分离,使得组件得以解耦;在复杂的品种中,也是亟需用到冗余、继承,这时候也急需关爱下里氏替换原则、倚重倒置原则…
。另外还当学习 Vue 本身所提供的优化,像[路由懒加载], 即:结合 Vue 的
异步组件 和 Webpack 的 code splitting feature,
轻松实现路由组件的懒加载,使得该零件访问时才加载,以提高页面加载功效,还有使用服务端实现首屏渲染,组件缓存等等,尤须留意的是组件间数据通信,这在之后一节中会提及,此处不做赘述。

此处需要上学钻探的点不少,非片言可蔽之,看到一份
PPT Vue.js实践:
怎样使用Vue2.0开销富交互式WEB应用;个种谈到 Vue
许多相关的点,值得一览。另外,如是为团队写公用组件,一定记得附上对应使用文档,那很首要。你看,如上所说,要写好一手漂亮Vue(代码),软件设计学问,是必要的留存,不是么?(web前端学习沟通群:328058344
禁止闲聊,非喜勿进!)

怎么样卓越使用-Vue-之实战通信篇)咋样可以使用 Vue 之实战通信篇


先前有在[Vue 各个数据绑定]一文中,对 Vue 数据绑定有过些描述(version
1.);即使现在 Vue 早已升级至
2.
,不过数量绑定变化虽多,但大局影响不大,譬如:不再允许一部分实例;须以v-html取代三
Mustache 语法;变更 v-for 遍历时参数顺序等等,具体可参见[从 Vue 1.x
迁移]。此处就多少在 vue 组件间传递做下探索。

Vue2 移除 dispatch() 和 dispatch()和broadcast()之后,首要透过 prop 
(包括 v-model 自定义)
实现父组件向子组件传参,且只能单向传递;为了预防对父组件暴发反向影响,Vue2
已移除了 .once 和 .sync
修饰符,子组件需要显式地传递一个风波而不是凭借于隐式地双向绑定。 一旦你打算在组件内,直接改动通过props传入的父组件数量,这将被认为是anti-pattern的,报以下错误:

Avoid mutating a prop directly since the value will be overwritten
whenever the parent component re-renders. Instead, use a data or
computed property based on the prop’s value.

但,如若传递的 prop
本身是引用型传递,像对象或者数组,由于数据类型自身特色,无论是什么绑定格局都会是双向绑定!那一个在Vue文档-单向数据流中有作表明;请看这多少个事例:

此间需要小心的是:Vue
要么监听的是主导数据类型的值变化,要么监听的是引用数据类型的引用变化;因而,vue对于数组,才团结包裹了一套方法(包括$set , $remove),假设直接改动引用类型的情节,尽管数据现已修改,但
Vue
是感知不到的,所以视图将不会更新(针对性的对属性举办赋值操作,则会调用其性能的
set 方法,因而Vue会拿到感知,从而使得视图更新)。这里需要补充的是:Vue
使用
Object.defineProperty(ES5特色)将数据转为 getter/setter,从而实现对数据的 watchersetter被调用时再度绘制关联的
Dom,从而刷新视图。

因此,对父组件传递来引用型数据,如需改变,最好改动做深度拷贝后的数额,而且亟需小心得失,Object.assign不是深度拷贝,就算使用了 Object.freeze()去冻结。对于子组件向父组件回传参数,可凭借 $emit,当然也可以采用callback Functon,可参见jsfiddle
示例
。非父子组件间通信,Vue
有提供 Vuex,以状态共享方法来落实同信,对于这或多或少,应该小心考虑平衡,从总体统筹角度去考量,确保引入她的不可或缺。倘诺项目有些复杂的话,完全可以友善规划一套 vue-bus,以提供了一个大局事件为主,使得可以像使用内置事件流一样,便捷的施用全局事件。当然,Vue
也提供了 $refs,可以跨层调用,或者诸如这样this.$parent.$parent;提供了不表示推荐;尽量少的去接纳,除非逼不得已,或者去恶作剧坑人。当然,也可凭借原生Api sessionStoragelocalStorage 等等进行多少存储,以到达通信目标;对于,兼顾得失,争取扁平统一化通信形式就好。鉴于篇幅,就不多废话。

什么优良使用-Vue-之Webpack篇)怎么着可以使用 Vue 之Webpack篇


前文提到,推荐应用Vue-cli,它决定帮忙大家密切的配备好了 Webpack
相关。在编排 router
配置之时,可以轻松实现路由组件的懒加载,使得项目得以拆分成若干个 js
小包,和一个略大的
vendor,运行时按需去加载。即,我们得以像如下用法,去安排路由组件(当然,大家也得以把组件按组分块):

import Frame from './../views/Frame'
export default {
  path: '/',
  component: Frame,
  children: [{
    path: '/nicelinks',
    meta: {
      title: setTitleLang('晚晴幽草轩', 'Nice Home Blog')
    },
    component: resolve => require(['./../views/Nicelinks'], resolve)
  }]
}

DllReferencePlugin 
除去,在webpack这块,如故有这些多东西需要去优化,以收缩包构建的年华、改正其体积等等。比如可利DllReferencePlugin将常用不怎么变更的公文,抽离出来打入另一合并的文书(vendor.dll.js),
外链以 script 引入。这一个网上教程很多,此不赘述。

webpack-bundle-analyzer 
最新Vue-cli还帮着注入了 [webpack-bundle-analyzer]插件(Webpack插件和CLI实用程序),她得以将内容束显示为便利交互的直观树状图,让您精通您所构建包中真正引入的内容;我们可以依靠他,发现它大约有如何模块组合,找到错误的模块,然后优化它。大家可以在package.json中流入如下命令去便利运行她(npm
run
analyz),默认会打开 http://127.0.0.1:8888作为显示。

“analyz”: “NODE_ENV=production npm_config_report=true npm run
build”

图片 3

webpack-bundle-analyzer在引入了 DllReferencePlugin插件后,想必会在 webpack.dll.conf.js中校 vue插足进去;例如进行了之类配置:

entry: {
   vendor: [
     'lodash',
     'superagent',
     'vue',
     'vue-router',
     'vue-i18n'
     'vuex'
   ]
 }

当你利用 webpack-bundle-analyzer去分析时,你会意识 Parse Size 为 71 KB
的 vue.common.js,会现出在 vendor.xxx.js 中,按预想它不是应该被打入
vendor.dll.js 中的?谈及这里,为了保证著作的完整性,不得不提下,vue2
经过 2.2 版本升级后, 文件变成了 8 个,分别是:

vue.common.js 
vue.esm.js 
vue.js 
vue.min.js 
vue.runtime.common.js 
vue.runtime.esm.js 
vue.runtime.js 
vue.runtime.min.js

这在Vue2 dist
目录下依次文件的区别
,
可以浏览。此外,vue
文当单身构建-vs-运行时构建,也阐明了双方分别;这 vue.common.js 隶属独立构建产物,而默认
NPM 包导出的是 运行时 构建,为了选取独立构建(援助 template),在
webpack 配置中添加下边的别名:

resolve: {
  alias: {
    'vue$': 'vue/dist/vue.common.js'
  }
}

如此一来,在 webpack.dll.conf.js 配备中流入 vue,导致 vendor.xxx.js
中冒出 vue.common.js,就可以取得解释了:dll 中对 vue 打包配置,与
resolve
中引入有出入,前者默认为运行时构建。如能保证是平等了,此问题即可解决。这点,有经过测试,得出数据如下(resolve
配置如上):

  1. webpack.dll.conf.js 中流入 vue,build 之后拿到 vendor.xx.js
    611KB, vendor.dll.js 180 KB;
  2. webpack.dll.conf.js 中注入 resolve 同名引入
    vue/dist/vue.common.js,build 之后收获 vendor.xx.js 540KB
    vendor.dll.js 207 KB;

二者相比较,vendor.xx.js 相差 +71 KB,正是 vue.common.js Parse
Size;vendor.dll.js 相差
-27KB,即运行时构建所得大小。打开生成的vendor-manifest.json,也会发觉,前后变化
vue 相关的引用分别是:

/node_modules/vue/dist/vue.common.js 
./node_modules/vue/dist/vue.runtime.common.js

哪些好好使用 Vue 之工作流篇


“轻功不表示武功,但速度决定了您自我的偏离。”——白凤(秦时明月)。智能化、自动化趋势愈加明朗,作为程序员如不可以尽快适应,其所面临的泥沼显而易见。不久的将来,蓝领代码民工,势必会在科技的大潮中捉襟见肘;所以这更加要求从业者能快准稳的去化解急需,同时保持文化技能的不断更新。而这快字,自然是事情技术熟稔度多半取决定性成效,但假诺有优善的工作流机制,势必锦上添花。而以此话题,所提到的点线面,非一言可以蔽之;这会在渐进的读书钻探中穿梭去变通更新。但最少一个当下的轨道是:即使不可能半自动,至少也须半自动化。(web前端学习互换群:328058344
禁止闲聊,非喜勿进!)

图片 4

不少朋友使用 hexo来构建博客;hexo 是基于 Node.js产物,用它刊登博文,很是福利;你只需hexo clean,hexo g, hexo d六个指令即可;作品多少一多,一套打下去,也得
20s+;如若略懂 npm,在 package.js中参与点命名,例如像这样;

"scripts": {
  "start": "sudo hexo clean && sudo hexo g && sudo gulp && sudo hexo d"
}

那么 只需运行npm start就好,可将时刻消耗裁减至
2s节省流年即便不多,却也是数据级的擢升,而且代价只是那么小,并一劳永逸。所以有必不可少对此,以多少微小经验略作演讲,抛砖以引大玉。

  • Vue-cli虽然强大,但说到底作为基础公用,不宜繁杂。应有自己(团队)的脚手架,当准备打开新的品类时候,只需运行脚手架,以开头化整个项目,而不是一点点正片,然后各种重新配置,引入路由,注入
    Bootstrap … 。相同序列中也该有可一键生成的模版库,或者自动化的 Json
    解析机制。

  • 开班编制代码前,必须同后台er,预定好接口,参数以及再次回到数据;并令之生成方便寻找,可供测试的可视化
    API
    文档。再没有比这更重要的(假使项目超越四月/人)。像那样开源工具,也多不胜数,比如 Swagger-Ui

  • 在编制代码时候,则该先三思而后写。而写时,当保管编辑工具的犀利化,比如寻找语法错误,开合标签完整,自动格式美化代码,使之契合约定的 Eslint 要求,也保证代码清晰简洁;想象下一旦您的书桌上整天被摆满了虫蝇墨液,你作何想?

  • Vue-cli 已帮配好了代办,无需担心当地调试跨域问题;但怎样能很快提交有效代码,需要活动安排。命令行也好,SourceTree
    可视化工具也罢,方便急迅就好。也该借助pre-commit工具,在 commit
    前履行校验,制止出现非法提交,影响队友。

  • 转业历程中有经验过手动打各个测试 APK 的凄惨,也经历了手动各类 build
    公布的困难,至今回忆,满是苦涩。所以,监听仓库代码变化,自动化构建,此乃居家生活必需良品。从业中还经历过各类关闭
    Bug 的奇葩格局,坦言做这事情比解决所谓 Bug
    花费的命宫还多。而这多少个,无非是这时候社团见识短浅之诟病耳,近期公司采纳 jenkins 和 GitLab,双剑合壁,再无这种痛楚,感动。

  • 称为之写出非凡Vue?不仅在于代码之华美,还在于其疾速,资源节约。以多少驱动的 Vue
    本身异常效率;但利用 C 写出的代码不见得都比 JavaScript
    要飞快,这变数在于是例旁人去写。由此,除了 Code Review
    代码外,也须有一套行之有效的百分之百分析方法。以管教代码的按需加载,Css
    的客观编排 & 引用,凡此等等。

  • 称为之写出优异Vue?还在于其保险、稳定,而这么些最终是要反映在于产品之上;由此,好的产品不仅须配备访问情况,行为分析,事件埋点,也得有错误上报。初步有用简书这款读写一体的产品,最近方面不仅充满各个鸡汤与戾气纵横的标题文,还洋溢这各类Bug,尤其是在 Web网页上(Mac
    mini,Pc),反馈无门,简直惨不忍睹;何也?断定他们肯定是不曾利用 sentry 类似产品工具的。

  • 一门后台技术;不懂后台的前端不是好设计师;这仿佛奚弄的话,实则如故挺有道理的。如今,大行其道的内外端分离开发模式,尽管各司其职的双面,可以领会互相技术,则更易于配合,也更效能。而更多时候,何况出于某些需要,前端写后台,也是广阔;对于个体而言也是好事,艺多不压身。目前有在写点个人产品,倘若搜索后台开发援救,比自己上学如何写后端,其中麻烦肯定不会少;而且也非长久之计。尽管都没这一个,要化解
    Vue SEO 以及升级换代渲染速度,做 Vue SSR 相关,也是急需懂些后台技术。

  • 设计有关;这多少个计划,不但包括代码结构、层次、接口等统筹,对于前端从业者,必然也席卷页面相关;比如,正在开发的私房产品: 倾城之链(英文名曰:NICE
    LINKS
    ),因为计划美学上的供不应求,可谓步履维艰的上马塑造出大致应用,但,从视觉效果来看,总觉得差那多少个意思,仍在苦思中等待枯竭。即便没有接近需求,页面已然有设计师画出稿来,如要完美的东山再起,这设计息息相关的功夫,也是必要的留存;毕竟产品最终显示给用户的造型,取决于大家前端开发者。

写在终极的停止语


“你首先得是一位程序员,然后才是一位前端程序员”,这一个视角很有道理,并且将趁着时光的更替,显得尤其彰着。因此本篇所要啄磨的,不仅仅限于对Vue的上学与运用,更深层次的企图在于,以近日盛行框架Vue为突入口,分享时下书写前端的片段支付经历、编程心得、以及产品用户体验等。很显明,这里谈及的只是其中冰山一角。况且前端发展如此,欣欣向荣,也是很难面面俱到。我们只是秉承不断学习之心理,拥抱变化,面向将来,才能在这汹涌的浪潮中、不至于被落下更远。谈及这里,很有必要分享下,目前径直在搜集更新的[与时俱进版前端资源教程],其利害攸关征集时下与前景技术的上佳之文,以及工具、优化、测试、安全等精华之章,焦点是为前端学习、 技能进步、 视野扩大、 资料查找等行个有利于;有趣味的爱侣,可以关注通晓下,或者更进一步,协理补充
& 修正,让其能服务更多的人。