Sublime相关

通过添加 Build System 的方式来使 Sublime Text 3 运行 JS、ES6:

参考文章:如何优雅地使用Sublime Text3

参考书目:《ES6标准入门》阮一峰

摘抄:

  1. 下载安装配置 NodeJS
  2. 在 Sublime 选择 Tools->Build System->New Build System...
  3. 编辑,命名(如 Node.sublime-build)并保存,位置默认
    {
        "cmd": [
            "node",
            "--use-strict",
            "--harmony",
            "$file"
        ],
        "selector": "source.js"
    }
  4. 在 Sublime 中选择 Tools->Build System->Node,编写完JS文件后保存 Ctrl + B 即可。
  5. 遇到类似于 SyntaxError: Unexpected token import 的错误,可以使用阮一峰老师写的 ES-Checker 模块检查运行环境对ES6的支持情况,如:
    C:\Users\Username>es-checker
    
    ECMAScript 6 Feature Detection (v1.3.0)
    
    Variables
      √ let and const
      √ TDZ error for too-early access of let or const declarations
      √ Redefinition of const declarations not allowed
      × destructuring assignments/declarations for arrays and objects
      × ... operator
    
    Data Types
      √ For...0f loop
      √ Map, Set, WeakMap, WeakSet
      √ Symbol
      √ Symbols cannot be implicitly coerced
    
    Number
      √ Octal (e.g. 0o1 ) and binary (e.g. 0b10 ) literal forms
      √ Old octal literal invalid now (e.g. 01 )
      √ Static functions added to Math (e.g. Math.hypot(), Math.acosh(), Math.imul() )
      √ Static functions added to Number (Number.isNaN(), Number.isInteger() )
    
    String
      √ Methods added to String.prototype (String.prototype.includes(), String.prototype.repeat() )
      √ Unicode code-point escape form in string literals (e.g. \u{20BB7} )
      √ Unicode code-point escape form in identifier names (e.g. var \u{20BB7} = 42; )
      × Unicode code-point escape form in regular expressions (e.g. var regexp = /\u{20BB7}/u; )
      × y flag for sticky regular expressions (e.g. /b/y )
      √ Template String Literals
    
    Function
      √ arrow function
      × default function parameter values
      × destructuring for function parameters
      × Inferences for function name property for anonymous functions
      × Tail-call optimization for function calls and recursion
    
    Array
      × Methods added to Array.prototype ([].fill(), [].find(), [].findIndex(), [].entries(), [].keys(), [].values() )
      √ Static functions added to Array (Array.from(), Array.of() )
      √ TypedArrays like Uint8Array, ArrayBuffer, Int8Array(), Int32Array(), Float64Array()
      √ Some Array methods (e.g. Int8Array.prototype.slice(), Int8Array.prototype.join(), Int8Array.prototype.forEach() ) added to the TypedArray prototypes
      × Some Array statics (e.g. Uint32Array.from(), Uint32Array.of() ) added to the TypedArray constructors
    
    Object
      √ __proto__ in object literal definition sets [[Prototype]] link
      × Static functions added to Object (Object.getOwnSymbolNames(), Object.assign() )
      √ Object Literal Computed Property
      √ Object Literal Property Shorthands
      × Proxies
      × Reflect
    
    Generator and Promise
      √ Generator function
      √ Promises
    
    Class
      √ Class
      √ super allowed in object methods
      √ class ABC extends Array { .. }
    
    Module
      × Module export command
      × Module import command
    
    
    =========================================
    Passes 27 feature Dectations
    Your runtime supports 64% of ECMAScript 6
    =========================================
posted @ 2016-05-24 12:13  仰戈  阅读(201)  评论(0编辑  收藏  举报