转载 webstrom识别 React语法
对于程序员而言:驼峰和下划线之间是一场宗派战争;大括号是否换行会成为一种党派;逗号写在行尾还是行首的人来自不同星球……
然而,无规矩不成方圆,任何一个团队,要想有高质量的产出,第一步必须要对一些基本的代码风格达成共识,否则用不了多长时间,你就会发现没人愿意维护某些代码了,因为那些代码散发出半年以上没冲过的马桶的味道,而更可怕的是团队成员之间的冲突和内耗会远超你的想象。
好了,言归正传,我们进入正题:
首选开发工具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
快速启动
首先请确保你已经安装好了 node 和 npm,建议使用
iojs/2.5.0并配置国内源进入工作目录新建分支
 
 请尽量以本次需要开发的功能或解决的问题进行分支命名,我们提倡使用 GitHub Flow 进行分支管理。点击编辑器底部的 '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.config.develop.js # 开发环境配置
| -- webpack.config.js # 通用配置
| -- webpack.config.production.js # 生产环境配置 来源地址https://www.w3ctech.com/topic/1496
转载 webstrom识别 React语法的更多相关文章
- webStrom中React语法提示,React语法报错处理
		
1,webStrom中React语法报错 ①, 取消Power Save Mode的勾选 File——Power Save Mode ②,webstorm开发react-native智能提示 随便在一 ...
 - webstrom编辑react语法报错解决
		
问题: 解决办法:1.把 JavaScript 的版本设置为 JSX Harmony. 2.把<script>type类型改为:text/jsx
 - 让 zend studio  识别 Phalcon语法并且进行语法提示
		
让 zend studio 识别 Phalcon语法并且进行语法提示 https://github.com/phalcon/phalcon-devtools/tree/master/ide 下载解压 ...
 - 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
		
让 zend studio 10 识别 Phalcon语法并且进行语法提示 https://github.com/rogerthomas84/PhalconPHPDoc 下载解压后,把里面 phalc ...
 - 【转载】Makedown数学公式语法
		
Typora数学模块 行间表达式快捷键($$) 点击"段落"->"公式块" 快捷键Ctrl+Shift+m "$$"+回车 行内表达式 ...
 - visual studio 2019不能在vue文件中直接识别less语法
		
试了好多方法,不象vs code那样能直接在template vue文件中就识别less语法下边这种分离的方式是可以的,在项目中也比较实用,将来你代码量大了,样式/脚本也还是要和template代码分 ...
 - webpack打包不识别es6语法的坑
		
今天Vue项目npm run build 后webpack,报错uglifyjs,自己研究了一下,翻译过来,意思是不识别项目中写的高级语法,这里要把项目里es6语法转es5让浏览器识别, 也就是web ...
 - [转载]ECMall模板解析语法与机制
		
ECMall模板解析语法与机制 2011-05-22 在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词 ...
 - Windows下Phalcon的安装以及phpstorm识别phalcon语法及提示
		
1.由于Phalcon是C语言写的一个扩展,所以需要安装这个扩展php_phalcon.dll,下载地址https://github.com/phalcon/cphalcon/releases, 然后 ...
 
随机推荐
- 【异构计算】在Windows下使用OpenCL配置
			
前言 目前,NVIDIA 和 AMD 的 Windows driver 均有支持OpenCL(NVIDIA 的正式版 driver 是从自195.62 版开始,而 AMD则是从9.11 版开始).NV ...
 - shell-3
			
每天学习一篇:利用跑代码或者空闲思考时间,启动环境时间等闲杂时间: http://blog.csdn.net/junjieguo/article/category/880326/2
 - 配置FindBugs和常见FindBugs错误
			
配置FindBugs: 在这里可以对FindBugs规则等进行详细设置. 选择你的项目,右键 => Properties => FindBugs => 1 Run Automatic ...
 - 漂亮的代码2:遍历文件夹目录,使用promise
			
看到一个问题: 找到文件夹下所有文件: 自己写了一个: function walk(dir, ext, callback) { ext = ext.charAt(0) === "." ...
 - HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(二)
			
HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(一) 下面来查看其他对保存HSTS信息的enabled_sts_hosts ...
 - C#之系统异常处理机制
			
在系统开发过程中,BUG和异常产生是无处不在的,但是需要我们去做的就是不断去发掘异常.修改异常. 这篇文章主要谈谈我在系统中解决异常的几种方法: 1.控制台程序产生的异常: 在大多数的控制台程序中,运 ...
 - Linux实战教学笔记18:linux三剑客之awk精讲
			
Linux三剑客之awk精讲(基础与进阶) 标签(空格分隔): Linux实战教学笔记-陈思齐 快捷跳转目录: * 第1章:awk基础入门 * 1.1:awk简介 * 1.2:学完awk你可以掌握: ...
 - 每天一个linux命令(26)--用SecureCRT来上传和下载文件
			
用SSH管理Linux 服务器时经常需要远程与本地之间交互文件,而直接使用 SecureCRT 自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmod ...
 - loadrunner入门篇-Vuser发生器
			
Vuser 发生器(Visual User Generator,VuGen),主要通过捕获客户端向服务器发送的HTTP请求,将这些请求录制成脚本,在回放时将捕获的HTTP请求再次发送,以达到模拟客户行 ...
 - SQLHelper帮助类_下(支持多数据库的封装)
			
在上篇关于SQLHelper类中,主要针对SQLServer数据库进行的.在使用别的数据库,就要修改部分代码!所以今天就写一个支持多数据库的封装!主要用到枚举,读取config文件!接口的简单用法.获 ...