对于程序员而言:驼峰和下划线之间是一场宗派战争;大括号是否换行会成为一种党派;逗号写在行尾还是行首的人来自不同星球……

然而,无规矩不成方圆,任何一个团队,要想有高质量的产出,第一步必须要对一些基本的代码风格达成共识,否则用不了多长时间,你就会发现没人愿意维护某些代码了,因为那些代码散发出半年以上没冲过的马桶的味道,而更可怕的是团队成员之间的冲突和内耗会远超你的想象。

好了,言归正传,我们进入正题:

首选开发工具WebStorm

工欲善其事必先利其器,对于程序员而言,一款趁手的编辑器将像屠龙宝刀一样珍贵,许多程序员终其一生都在追寻更好的硬件、软件、工作流程等。作为前端团队,我们强烈推荐使用 WebStorm 。大体上,它长这样:

关于怎么下载,怎么安装,以及其他类似问题请自行Google。

新建项目

Talk is cheap. Show me the code. 好了,废话少说,我们赶紧上代码:

是的,我们的教程并不是手把手的,按上图操作后将弹出输入框,填入你所得到的git仓库地址,并按照个人喜好选择路径和命名后 WebStorm 将会自动拉取我们最新的项目代码。

初始设置

因为我们使用了最新最潮的ES6语法,并借助了React.js 来开发这个项目,所以我们需要进行一些小设置来保证 WebStorm 能够正常识别我们所写的代码。

按上图所示进入设置面板:

在 Languages & Frameworks > JavaScript 条目下开启JSX语法支持。

展开 JavaScript > Libraries ,勾选 ES6 语法支持。

我们使用ESlint来检查基本的语法错误,请继续展开 "JavaScript > Libraries > Code Quality Tools > ESLint" 菜单启用 ESLint。 ESLint 规则以 airbnb 为基础,考虑到中国国情以及团队习惯,我们进行了部分细节调整:


{"extends": "airbnb", "rules": { "comma-dangle": [1, "never"], // 不对数组或对象末尾逗号做强制要求 "spaced-comment": [0, "always"], // 不对注释前的空格做强制要求 "func-names": 0 // 允许使用匿名函数 } }

其他完全沿用airbnb,详见 https://github.com/airbnb/javascript

代码风格设置

为了让编辑器产生的代码能够顺利通过ESLint的校验,我们在airbnb开源的基础上定制了自己的代码风格:  在 "Editor > Code Style" 菜单中点击 "Manage..." 按钮;

在弹出来的对话框里选择 "Import..."

点击确定后会出现文件选择对话框,选择本项目根目录下的 .jscsrc 文件

建议命名为KM,以便和其他代码风格区分。 本代码风格总体依然沿用 airbnb,同样对部分细节做了调整:


{"preset": "airbnb", "excludeFiles": [ "dist/**", "node_modules/**", "webpack*", "styleguide.js" ], "requirePaddingNewLinesBeforeLineComments": null, // 不强制注释前空行 "requireTrailingComma": null, // 不强制要求末尾逗号 "validateQuoteMarks": null, // 字符串单引号,React 属性双引号 "validateIndentation": { "value": 2, "allExcept": [ "comments" // 忽略注释中的缩进 ] }, "maximumLineLength": { "value": 80, // 单行最长80个字符,注释除外 "allExcept": [ "comments", "urlComments", "functionSignature" ] }, "requirePaddingNewLinesAfterBlocks": null,// 区块之间不强制空行 "disallowEmptyBlocks": { "allExcept": "comments" // 不把注释当成空处理 } }

调整后规则的直观体现见 styleguide.html

快速启动

  1. 首先请确保你已经安装好了 node 和 npm,建议使用 iojs/2.5.0并配置国内源

  2. 进入工作目录新建分支   请尽量以本次需要开发的功能或解决的问题进行分支命名,我们提倡使用 GitHub Flow 进行分支管理。

  3. 点击编辑器底部的 'Terminal'面板,并输入 npm i && npm start 后回车  当显示 webpack: bundle is now VALID. 字样时表示已经正常启动 

4.建议使用Chrome浏览器,访问 http://localhost:8000/ 即可。

5.修改JS文件,浏览器内容将自动发生变化(页面不会整体刷新)

目录结构

[./]| -- .editorconfig #编辑器配置,声明缩进方式 | -- .eslintignore #ESLint忽略名单 | -- .eslintrc #ESLint配置 | -- .gitignore # Git忽略名单 | -- .jscsrc #JavaScript Code Style 配置 | -- README.md | -- [css] | | -- index.styl | -- [dist] #打包后目录 | | -- daefde64ebc9619286d8.js | | -- fb5456ea68c860c4a4c93c71b1142220.css | | -- index.html | -- [docs] #说明文档 | | -- [img] | | -- styleguide.html | -- [js] | | -- app-router.js | | -- [components] # 组件 | | | -- dashboard.js | | | -- login.js | | | -- main.js | | -- index.js | | -- [utils] # 各种辅助小工具 | | | -- ajax.js | | | -- auth.js | -- package.json | -- server.js # 开发调试用 | -- webpack

转载于:https://www.cnblogs.com/blog-index/p/6589943.html

转载 webstrom识别 React语法相关推荐

  1. 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示

    让 zend studio 10 识别 Phalcon语法并且进行语法提示 https://github.com/rogerthomas84/PhalconPHPDoc 下载解压后,把里面 phalc ...

  2. Taro框架使用React语法开发小程序有关行内样式解析问题

    前两天有个同事在使用Taro的react语法开发小程序时碰到了一个关于行内样式的问题: 本以为蓝色这两个字的颜色应该是蓝色的,结果发现这个行内样式却没有生效,还是黑色.于是看了编译后的代码,居然是这样 ...

  3. IDEA打开html页面不识别freemarker语法问题

    IDEA中html页面不识别freemarker语法 解决:Ctrl+Alt+S 打开settings --> Editor --> File Types --> FreeMarke ...

  4. 科大讯飞离线关键词识别(语法识别)(2)

    关键词识别和语音听写还是有差别的,语音听写是直接将所说的话转化成语音,至于识别的准确率看所说的话是否是常用的,如果遇到不常见的词比如 背身腿降这个指令,识别出来的就是乱七八糟的.而关键词识别也就是针对 ...

  5. 小白路程之----初学React语法栈之redux与react-redux

    Redux 1.核心概念 Redux的主要目的,即集中且可预测的管理数据.集中管理指:将所有需要管理的数据放到一个store中进行管理.可预测指:数据的变化可以预测.为了实现这个功能,Redux将数据 ...

  6. 对大量转载贴识别算法的研究

    要识别论坛中被大量转载的同一篇文章,初看起来不是一个很难的技术问题,只要生成所有文章的信息指纹,再将相同指纹分组就可以了.至于产生信息指纹的方式,最简单的是用MD5或者SHA等单向Hash函数,如果为 ...

  7. 转载:XPath基本语法

    出处:http://www.cnblogs.com/Miko2012/archive/2012/10/26/2740840.html XPath的语法最基本的节点之间用/,属性用@,还有几个函数记住了 ...

  8. sublime jsx html插件,Sublime Text3关于react的插件——react语法提示代码格式化

    背景: 最近因为项目准备迁移切换技术栈到react~所以研究了一波sublime关于react的插件,很多推荐已经写得很详细,这里就补充一下语法提示和代码格式化的插件. 1.sublime-react ...

  9. 转载:识别圆环的一种思路

    前一段时间识别圆环使用的方法是寻找正前方的黑块,找到之后再测量它左右两边的白色宽度,如果宽度都大于设置的阈值的话就判定为圆环,但是斜着进圆环的话就很难识别出来如下图1.图2 所示. 图0 算法调试界面 ...

最新文章

  1. linux命令查看cpu负载,Linux下使用w命令和uptime命令查看系统负载
  2. SAP成本会计分录大全
  3. PHPstorm文件默认后缀
  4. OpenVINO InferenceEngine之CNNNet、CNNLayer、Blob介绍
  5. 再见 iTunes!苹果macOS Catalina 10.15正式版更新
  6. word 分栏后转html,分栏怎么让两边一样 怎样让word文档分栏而顺序不变
  7. 辞职前一定要三思的八个问题
  8. jdk 安装cmd运行java_windows下安装jdk,cmd下编译运行java程序一点心得
  9. 给editplus加一个主题
  10. Java实现多文档文本编辑器
  11. 分享一个特别好用的时间选择控件
  12. matlab 展开计算公式,钣金下料展开计算公式
  13. 用root登录亚马逊云
  14. javascript解决猴子分桃问题
  15. 微信订阅消息(后端)教程
  16. linux刻录光盘空间不足,Linux下的光盘刻录技巧
  17. unix环境中以下列出的oracle,浙江中医药大学2012研究生计算机复习题
  18. 你还记得当年高考时的样子吗?
  19. 利用Spring扩展点模拟MyBatis的注解编程「知识点多多」「扩展点实战系列」- 第448篇
  20. java中err是什么意思,错误 101 (net::ERR_CONNECTION_RESET 是什么意思java中reset()函数的用法...

热门文章

  1. soap xml_SOAP XML消息–使用Liquid XML Studio进行了解和创建
  2. C# 调用word时,禁用宏
  3. 悄悄告诉你Java面试必备技能是什么?
  4. WPF整理-使用ResourceDictionary管理Logical Resources
  5. GetCurrentTime(),GetLocalTime(),GetSystemTime()之间的区别
  6. 光纤非线性效应对光OFDM信号的影响研究
  7. 分配给 主机的 Evaluation Mode 许可证已过期。建议升级许可证。
  8. 文本文件的输入输出流(这里的重点在于字符集问题)
  9. Unix 下获得 root权限
  10. 《Effective Java》阅读笔记