Babel

Sublime3才有的插件,支持ES6、JSX语法高亮。

菜单->View->Syntax->Open all with current extension as...->Babel->JavaScript(Babel) 高亮了有木有。

 
Babel

Babel-Sublime插件很好的支持了JSX语法的高亮显示,连包裹在组件中的HTML标签都能实现高亮显示,具体的插件安装以及设置方法就不多说了,自行看GitHub上的介绍吧,很简单。

//支持的代码片段如下
cdm→  componentDidMount: fn() { ... }
cdup→  componentDidUpdate: fn(pp, ps) { ... }
cs→  var cx = React.addons.classSet;
cwm→  componentWillMount: fn() { ... }
cwr→  componentWillReceiveProps: fn(np) { ... }
cwu→  componentWillUpdate: fn(np, ns) { ... }
cwun→  componentWillUnmount: fn() { ... }
cx→  cx({ ... })
fdn→  React.findDOMNode(...)
fup→  forceUpdate(...)
gdp→  getDefaultProps: fn() { return {...} } 
gis→  getInitialState: fn() { return {...} } 
ism→  isMounted()
props→  this.props.
pt→  propTypes { ... }
rcc→  component skeleton
refs→  this.refs.
ren→  render: fn() { return ... }
scu→  shouldComponentUpdate: fn(np, ns) { ... }
sst→  this.setState({ ... })
state→  this.state.
 
JsFormat

刚开始在JSX文件格式化后惨不忍睹,其实配置一个属性就可以支持JSX语法格式化。

菜单->Preferences->Package Settings->JsFormat->Settings-User加入以下代码

{
  "e4x": true,//支持jsx格式化
  "format_on_save": true//保存立即格式化,看个人喜好
}  

Emmet

这个html标签自动补全的神插件相信很多人都用上了,非常便捷,现在可以通过配置实现JSX的html内容自动补全。

菜单->Preferences->Key Bindings - User加上以下代码(keys就是触发自动补全的按键,可自定义)

[{
  "keys": [
    "tab"
  ],
  "args": {
    "action": "expand_abbreviation"
  },
  "command": "run_emmet_action",
  "context": [{
    "key": "emmet_action_enabled.expand_abbreviation"
  }]
}, {
  "keys": ["tab"],
  "command": "expand_abbreviation_by_tab",
  "context": [{
    "operand": "source.js",
    "operator": "equal",
    "match_all": true,
    "key": "selector"
  }, {
    "key": "preceding_text",
    "operator": "regex_contains",
    "operand": "(\\b(a\\b|div|span|p\\b|button)(\\.\\w*|>\\w*)?([^}]*?}$)?)",
    "match_all": true
  }, {
    "key": "selection_empty",
    "operator": "equal",
    "operand": true,
    "match_all": true
  }]
}]
代码检查

1.首先安装SublimeLinter、SublimeLinter-jshint、SublimeLinter-jsxhint、SublimeLinter-contrib-eslint插件。

2.然后命令行全局安装

npm install -g eslint
npm install -g babel-eslint
npm install -g eslint-plugin-react
npm install -g jsxhint

3.以ES6语法检查为例,在项目工程根目录新建.eslintrc,输入

{
"parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
        "jsx": true
    }
},
"rules": {
    "semi": ["error", "always"]
    }
}

详细配置参考 http://eslint.org/docs/user-guide/configuring

4.打开Sublime3,菜单->Tools->SublimeLinter->Toggle Linter...就可以打开js、jsx、es6检查规则。注意:当使用es6开发时务必把jshint关掉,否则报一堆警告错误。

最新文章

  1. mybatis: 利用多数据源实现分库存储
  2. [Spring] Spring配置文件中特殊字符的规定
  3. iOS- 制作U盘安装Mac OS X 系统
  4. Beta版本测试报告
  5. 连接到kali linux服务器上的MySQL服务器错误
  6. 通过Percona XtraBackup添加一个slave
  7. Declare Cusror of SQLServer
  8. 针对android方法数64k的限制,square做出的努力。精简protobuf
  9. 网络---中断套接字Socket
  10. Easyui几种布局方式的使用
  11. Log4net 自定义字段到数据库(二)
  12. pipe----管道
  13. 前端知识之HTML内容
  14. Pandas系列(十四)- 实战案例
  15. Confluence 6 PostgreSQL 测试你的数据库连接
  16. SpringCloud(二)Eureka集群与Feign
  17. datatable的点击事件
  18. 自研后端HTTP请求参数验证器服务ParamertValidateService
  19. Odoo访问权限(一)
  20. es 5.0的下载安装for mac

热门文章

  1. MVC 页面间的传值
  2. NSURLSession学习笔记(二)Session Task
  3. servlet运作机制
  4. spring整合xfire出现Document root element "beans", must match DOCTYPE root "null"错误解决方案
  5. vim删除空行和注释
  6. RK3288 USB UVC camera 摄像头 VIDIOC_DQBUF Failed!!! err[I/O error]
  7. 从汇编的角度看待变量类型与sizeof的机制
  8. 在vue中无论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去
  9. pycaffe + anaconda2 + python2.7.配置
  10. TCP之二:TCP的三次握手与四次分手