Sublime Text 3 搭建 React.js 开发环境
2016-04-11 21:42
656 查看
sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境。
支持ES6,React.js,jsx代码高亮,对JavaScript,jQuery也有很好的扩展。关于babel的更多介绍可以看这里:为什么说Babel将推动JavaScript的发展安装PC:2.
JSX代码审查,实时提示语法错误,帮助快速定位错误点.jsxhint3.修改
{"keys":["super+e"],"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}]} 使用StackOverflow,正则小有修改4.
jsformat是sublime上js格式化比较好用的插件之一,通过修改它的babel-sublime带有编译jsx的命令babelbuild。使用babel编译jsx也由React项目官方引用。该命令依赖于node包babel。babel同时也支持ES6的新语法经过编译在浏览器中运用。gulp为例(依赖gulp,需提前安装):/***babel*/vargulp=require('gulp'),babel=require('gulp-babel');gulp.task('babel',function(){returngulp.src('./src/**/*.jsx').pipe(babel()).pipe(gulp.dest('./dist'));});在命令行中输入gulpbabel运行配合BrowserSync使用可以实时监测改动并同步刷新多平台上得浏览器。在命令行中输入gulpbabel运行配合BrowserSync使用可以实时监测改动并同步刷新多平台上得浏览器。/***babel*/vargulp=require('gulp'),babel=require('gulp-babel'),bs=require('browser-sync').create(),reload=bs.reload,runSequence=require('run-sequence').use(gulp),src='src',//源目录路径dist='dist';//输出路径gulp.task('babel',function(){varonError=function(err){notify.onError({title:"Gulp",subtitle:"Failure!",message:"Error:<%=error.message%>",sound:"Beep"})(err);};returngulp.src(src+'/**/*.jsx').pipe(cached('react'))//把所有东西放入缓存中,每次只编译修改过的文件.pipe(plumber({//发生错误时不会中断gulp的流程,同时触发notify消息提示errorHandler:onError})).pipe(babel()).pipe(gulp.dest(dist));});//Starttheservergulp.task('bs',function(){varfiles;files=[src+'/**/*.+(html|php|js|css|png|jpg|svg|gif)'];bs.init(files,{server:{baseDir:src,}});});gulp.task('server',['babel','bs'],function(){gulp.watch(src+'/**/*.jsx',function(){runSequence('babel',reload);});})在命令行中输入gulpserver运行。或者使用sublime自带的build工具,选择
1.babel
支持ES6,React.js,jsx代码高亮,对JavaScript,jQuery也有很好的扩展。关于babel的更多介绍可以看这里:Ctrl+shift+pMac:
Cmd+shift+p打开面板输入
babel安装
配置
打开.js,.jsx后缀的文件;打开菜单view,
Syntax->Openallwithcurrentextensionas...->Babel->JavaScript(Babel),选择babel为默认javascript打开syntax士大夫似的
2.sublimeLinter-jsxhint
JSX代码审查,实时提示语法错误,帮助快速定位错误点.安装
PC上ctrl+shift+p(Mac
Cmd+shift+p)打开面板输入
sublimeLinter-jsx安装(依赖于
sublimeLinter)安装
node.js安装
npminstall-gjsxhint
3.修改Emmet兼容jsx文件
emmet作为前端开发必备插件之一非常方便快捷,通过修改默认的sublime就可以在jsx文件中快速通过emmet编写自定义组件。
安装
PC上ctrl+shift+p(Mac
Cmd+shift+p)打开面板输入
emmet安装
使用方法
打开preferences->Keybindings-Users,把下面代码复制到[]内部。
super+e触发emmet;正则判断用a,div,span,p,button标签默认tab触发;默认class修改为className。注:supre+e在PC上指的是
win+e(pc建议修改为emmet默认按键
ctrl+e),在mac上指的是
cmd+e以上规则来源于
4.JsFormat格式化js代码
jsformat是sublime上js格式化比较好用的插件之一,通过修改它的e4x属性可以使它支持jsx。
安装
PC上ctrl+shift+p(Mac
Cmd+shift+p)打开面板输入
JsFormat安装.
使用
打开preferences->PackageSettings->JsFormat->Setting-Users,输入以下代码:
{"e4x":true,//jsformatoptions"format_on_save":true,}即可保存时自动格式化,并支持jsx类型文件.
5.编译jsx
使用npminstall-gbabel在sublime中使用
ctrl+shift+p打开面板输入
babeltransform自动编译成react.js文件使用自动化构建工具(gulp|grunt等)以
npminstallgulp-babel
npminstallgulp-babelgulp-plumbergulp-notifygulp-cachedbrowser-syncrun-sequence
Tools->BuildSystem->NewBuildSystem输入:
{"shell_cmd":"gulpserver--cwd$file_path"}并保存为gulpBabel.sublime-build(名称随意,保持.sublime-build后缀名),存放到
Packages-Users文件夹里面,在sublime中使用
ctrl+shift+b(或
Tools->BuildWith..)打开build面板,选择刚刚输入的名称,在这里是
gulpBabel运行。
相关文章推荐
- java学习-【转】什么是Reactor模式,或者叫反应器模式
- Eziriz.Net.Reactor使用注意事项
- ReactiveX文档中文翻译
- Reactjs的Controller View模式
- [React Native]React-Native 入门指导
- [React Native]一个“三端”开发者眼中的React Native
- React-native 环境搭建
- 工欲善其事,必先利其器——React Native的 IDE
- React-Native学习指南
- React Native开发学习记录(我的开发环境是ubuntu)
- React Native导入独立模块ES6写法
- React-Native Android 环境搭建
- atitit.React 优缺点 相比angular react是最靠谱的web ui组件化方案了
- atitit.React 优缺点 相比angular react是最靠谱的web ui组件化方案了
- atitit.React 优缺点 相比angular react是最靠谱的web ui组件化方案了
- Thinking in React(翻译)
- 基于JVM使用React.js和Spring Boot建立同构的Web应用
- iOS ReactiveCocoa简单使用笔记
- React-native Redux 干货分享实践
- react native 开发环境的配置