Sublime Text 3 搭建 React.js 开发环境

ublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境。

1. babel

支持ES6, React.js, jsx代码高亮,对 JavaScript, jQuery 也有很好的扩展。关于 babel 的更多介绍可以看这里:为什么说Babel将推动JavaScript的发展

安装

  • PC:Ctrl+shift+p
  • Mac:Cmd+shift+p

打开面板输入babel安装

配置

  1. 打开.js, .jsx 后缀的文件;
  2. 打开菜单view, Syntax -> Open all with current extension as... -> Babel -> JavaScript (Babel),选择babel为默认 javascript 打开syntax
  3. 士大夫似的

2. sublimeLinter-jsxhint

JSX 代码审查,实时提示语法错误, 帮助快速定位错误点.

安装

  1. PC上ctrl+shift+p(MacCmd+shift+p)打开面板输入sublimeLinter-jsx安装(依赖于 sublimeLinter)
  2. 安装 node.js
  3. 安装 jsxhint
npm install -g jsxhint

3. 修改 Emmet 兼容jsx 文件

 emmet 作为前端开发必备插件之一非常方便快捷,通过修改默认的 sublime就可以在 jsx 文件中快速通过 emmet 编写自定义组件。

安装

PC上ctrl+shift+p(MacCmd+shift+p)打开面板输入emmet安装

使用方法

打开 preferences -> Key bindings - Users,把下面代码复制到[]内部。



{
      "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
      }]
    }

  

使用super+e触发 emmet;正则判断用 a,div,span,p,button标签默认tab 触发;默认 class 修改为 className。

注:

  1. supre+e 在 PC 上指的是win+e(pc 建议修改为emmet 默认按键 ctrl+e),在 mac 上指的是cmd+e
  2. 以上规则来源于StackOverflow,正则小有修改

4. JsFormat 格式化 js 代码

jsformat 是 sublime 上 js 格式化比较好用的插件之一,通过修改它的e4x 属性可以使它支持 jsx。

安装

PC上ctrl+shift+p(MacCmd+shift+p)打开面板输入JsFormat安装.

使用

打开preferences -> Package Settings -> JsFormat -> Setting - Users,输入以下代码:

{
  "e4x": true,
  // jsformat options
  "format_on_save": true,
}

即可保存时自动格式化,并支持 jsx 类型文件.

5. 编译 jsx

  • 使用babel-sublime
    带有编译 jsx 的命令 babel build。使用 babel 编译 jsx 也由 React 项目官方引用。该命令依赖于 node 包 babel。babel 同时也支持 ES6的新语法经过编译在浏览器中运用。

    npm install -g babel

    在 sublime 中使用ctrl+shift+p打开面板输入babel transform自动编译成 react.js 文件

  • 使用自动化构建工具(gulp|grunt 等)
    以 gulp 为例(依赖 gulp,需提前安装):
    npm install gulp-babel 
    
    
    
    /**
     * babel
     */
    var gulp = require(‘gulp‘),
      babel = require(‘gulp-babel‘);
    gulp.task(‘babel‘, function() {
      return gulp.src(‘./src/**/*.jsx‘)
        .pipe(babel())
        .pipe(gulp.dest(‘./dist‘));
    });
    在命令行中输入 gulp babel 运行
    
    配合 BrowserSync 使用可以实时监测改动并同步刷新多平台上得浏览器。
    
    
    

    在命令行中输入 gulp babel 运行

    配合 BrowserSync 使用可以实时监测改动并同步刷新多平台上得浏览器。

    npm install gulp-babel gulp-plumber gulp-notify gulp-cached browser-sync run-sequence
/**
 *  babel
 */
var gulp = 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() {
  var onError = function(err) {
    notify.onError({
      title: "Gulp",
      subtitle: "Failure!",
      message: "Error: <%= error.message %>",
      sound: "Beep"
    })(err);
  };

  return gulp.src(src + ‘/**/*.jsx‘)
    .pipe(cached(‘react‘)) //把所有东西放入缓存中,每次只编译修改过的文件
    .pipe(plumber({ //发生错误时不会中断 gulp 的流程,同时触发 notify 消息提示
      errorHandler: onError
    }))
    .pipe(babel())
    .pipe(gulp.dest(dist));
});

// Start the server
gulp.task(‘bs‘, function() {
  var files;

  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);
    });
  })

在命令行中输入 gulp server 运行。

或者使用 sublime 自带的 build 工具,选择Tools -> Build System -> New Build System
输入:

{
    "shell_cmd": "gulp server --cwd $file_path"
}

并保存为 gulpBabel.sublime-build(名称随意,保持.sublime-build后缀名),存放到Packages - Users文件夹里面,在 sublime 中使用ctrl+shift+b(或Tools -> Build With ..)打开 build 面板,选择刚刚输入的名称,在这里是gulpBabel运行。

 
时间: 2024-10-19 21:06:57

Sublime Text 3 搭建 React.js 开发环境的相关文章

[转载]Sublime Text 3 搭建 React.js 开发环境

[转载]Sublime Text 3 搭建 React.js 开发环境 Sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境. 1. babel-sublime 支持ES6, React.js, jsx代码高亮,对 JavaScript, jQuery 也有很好的扩展.关于 babel 的更多介绍可以看这里:为什么说Babel将推动JavaScript的发展 安装 PC:Ctrl+shift+p Mac:Cmd+shift+p 打开面板输

在Node.js上搭建React.js开发环境

1.React.js的介绍: React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图). React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源. React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它. 特点: 1.声明式设计 ?React采用声明范式,可以轻松描述应用. 2.高效 ?React通过对DOM的模拟,最大限

Sublime Text 3下C/C++开发环境搭建

Sublime Text 3下C/C++开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text. 1.Sublime Text 3安装 Ubuntu.Linux Mint的软件管理器中已经能够找到Sublime Text 3,直接安装即可.或者去官网下载.deb或tarball安装包,手动安装. 2.Package Control管理器 ST最吸引我的第一点就是这个非常棒的扩展管理器!安装方法也很简单,在ST中按Ctrl+`进入ST的控制台,然后去官网上将

React Native开发 - 搭建React Native开发环境

移动开发以前一般都是原生的语言来开发,Android开发是用Java语言,IOS的开发是Object-C或者Swift.那么对于开发一个App,至少需要两套代码.两个团队.对于公司来说,成本还是有的.然而现在有蛮多的公司开发App是基于React Native来开发的,这样可以做到一个App,就是一套代码,一个团队.对于公司来说,无疑节约了成本. <React Native开发>这系列的文章主要是记录本人利用React Native学习开发的笔记,这一篇文章是第一篇<搭建React Na

翻译:打造基于Sublime Text 3的全能python开发环境

原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ 原文标题:Setting Up Sublime Text 3 for Full Stack Python Development 翻译:打造基于sublime text 3的全能Python开发环境 Sublime Text 3 (ST3) is lightweight, cross-platfo

搭建React Native开发环境遇到的几个问题

根据http://blog.csdn.net/itpinpai/article/details/50809068这篇文章初步搭建React Native 开发环境, 遇到几个问题 首先端口可能被占用了, 访问8081时提示无法访问 解决方法: 在运行react-native start时添加参数--port 8899, 或者在package.json中修改"scripts"中参数, 添加端口号, 或者修改项目下的node_modules\react-native\local-cli\s

搭建 Node.js 开发环境

原地址:https://github.com/alsotang/node-lessons/blob/master/lesson0/README.md <搭建 Node.js 开发环境> 本课程假设大家都是在 Linux 或者 Mac 下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦在课程无法继续时,自行兼容一下. 不久前公司刚发一台新 Mac 给我,所以我对于在新环境中安装 Node.js 的过程还是记

快速搭建 Node.js 开发环境以及加速 npm

在公交车上刷微博,还是有很多同学在咨询: 如何快速搭建 node 开发环境 npm 超慢 github 无法打开的问题 于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门. 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本, 或者想快速切换 node 版本, 那么在非 Windows(如 osx, linux) 环境下, 请使用 nvm 来安装你的 node 开发环境, 保持系统的干净. 如果你使用 Windows 做开发,

在Mac上搭建React Native开发环境

概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装NodeJS和其他工具. 注:Homebrew详解,对这个比较了解的略过,我也是用mac没多久,这里给小白普及下. Homebrew全称Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn't i