zoukankan      html  css  js  c++  java
  • linux中,给nodejs安装babel

    在使用node的时候,看到别人家的代码都是var http=require('http')之类的,我就好奇,node不是都已经开始支持es2015了吗?为毛还用var?果断改用let!duang!!!

    /home/xiejk/projects/node/first/server.js:2
    let http = require('http');
        ^^^^
    SyntaxError: Unexpected identifier
        at Module._compile (module.js:439:25)
        at Object.Module._extensions..js (module.js:474:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:312:12)
        at Function.Module.runMain (module.js:497:10)
        at startup (node.js:119:16)
        at node.js:902:3
    

    感受一下我看到这个异常时的差异,果断百度之。哦,原来还要用babel变异一下,下面就是安装babel的流程了:
    1.先来测试一下node对es6的支持情况,安装一个检查工具es-checker,执行如下命令
    npm -g install es-checker
    安装完成,执行命令:es-checker,得到es6的支持性
    创建一个工作目录,新建package.json文件,文件内容如下

    {
        "name":"my-project",
        "version":"1.0.0",
        "devDependencies": {
        }
    }
    

    保存,退出,执行命令npm --save-dev install babel-cli
    在安装一个全局的babel-cli,执行命令npm -g install babel-cli
    再在工作目录下创建.babelrc文件,文件内容:

    {
        "presets": [
            "es2015"
        ],
        "plugins": []
     }
    

    最后,安装babel-preset-es2015,命令npm -install --save-dev babel-preset-es2015
    自己写个包含let之类关键字的js文件来测试。
    说个悲伤的事,我在装完插件之后,得到的提示:
    SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    加上'use strict'就不报错了,不知道插件是不是白装了~~~,希望你们看到这里的时候还没开始装babel工具,顺便给我说说结果,懒得删了~。

  • 相关阅读:
    好玩的SQL
    Oracle常用函数
    树控件DeleteAllItems之前先SelectItem(NULL)
    MFC控件位置调整
    C++中一个0xC0000005访问冲突问题
    为MFC按钮添加各种图片
    LVN_ITEMCHANGED(OnItemchanged)通知响应多次的问题
    android 里边的mk文件的解析
    定义属于自己的标题栏
    block 影响代码执行由上往下执行顺序 从而影响功能的解决
  • 原文地址:https://www.cnblogs.com/unck-luck/p/5503452.html
Copyright © 2011-2022 走看看