es6爱之初体验

作者: 蛋黄肉 | 来源:发表于2017-03-25 22:39 被阅读51次

使用npm全局安装babel

npm install --global babel-cli

这时候可以在cmd或git中使用babel命令了,但是无法将es6代码转换成我们想要的es5代码,要安装 babel-preset-es2015 --save-dev 才能够转成es5

npm install babel-preset-es2015 --save-dev

我们虽然安装了这个插件,但是babel也不知道我们想要的是什么,所以我们还需要配置一下:

  • 在根目录下创建 .babelrc
  • 在文件中插入如下代码
{
    "presets": [
        "es2015"
    ],
    "plugins": []
}

我们还可以使用react转码规则,这个我不知道有什么区别,因为也没用过react

npm install --save-dev babel-preset-react

相应的,我们也要在 .babelrc 文件中配置:

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

ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个

$ npm install --save-dev babel-preset-stage-0
$ npm install --save-dev babel-preset-stage-1
$ npm install --save-dev babel-preset-stage-2
$ npm install --save-dev babel-preset-stage-3

也要配置

{
    "presets": [
        "es2015"
        "react"
        "stage-2"
    ],
    "plugins": []
}

但是不知道配置es7有什么用……对于一个刚刚要配置es6编译环境的人,应该不会用到es7的语法吧...
而且我也没有选择,亲测不选也是能用的。

创建一个文件 es6.js 在文件中输入以下代码:

let name = 'zach'
while (true) {
    let name = 'obama'
    console.log(name)  //obama
    break
}
console.log(name)  //zach

虽然以前没有使用过es6,但也听说过let,基本上就是严格模式下的var,让我们转码看看会给我们转成什么呢

var name1 = 'zach';
while (true) {
    var _name = 'obama';
    console.log(name); //obama
    break;
}
console.log(name); //zach

他居然不经我们允许就擅自改变我们的代码,好气哦哈哈,不过他改对了
我们可以在我们的package.json中添加如下代码:

"scripts":{
    "babel": "babel es6.js -o es5.js"
}

在git bash或者cmd中输入

npm run babel 

就会将我们的代码自动转到es5.js中了,另外我补充一下,因为自己之前没有package.json的文件,所以运行这行代码一直出错,如果是因为要使用这个命令才创建的package我们要这样写

{
  "scripts":{
      "babel": "babel es6.js -o es5.js"
  }
}

这是babel的一些命令:

# 转码结果输出到标准输出
$ babel example.js

# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
$ babel example.js --out-file compiled.js
# 或者
$ babel example.js -o compiled.js

# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
$ babel src --out-dir lib
# 或者
$ babel src -d lib

# -s 参数生成source map文件
$ babel src -d lib -s
参考资料:

相关文章

  • es6爱之初体验

    使用npm全局安装babel 这时候可以在cmd或git中使用babel命令了,但是无法将es6代码转换成我们想要...

  • 爱之—初体验

    最近,因为家里临近新生命的到来。老妈一改常态来给我们(我和嫂子)做饭。简直不要太爽。 茶余饭后,可能是太闲...

  • 爱之初体验

    双十一的热潮才刚刚褪去,令人惊讶的是身边许多朋友都脱单了。原来,现在大家都不会想起那个曾经让单身汪胆怯的日子--...

  • 爱之初体验

    朋友May恋爱了,对于我们这群90后的老阿姨来说是正常不过的了。但对于她,甚至对于我,都是激动人心的大事,毕竟这是...

  • 爱之初体验

    当秋叶开始落下的时候,我开始想你了! 当秋风轻柔拂面的时候,我开始想你了! 当秋雨细碎的漫洒在脸颊的时候,我开始想...

  • 爱之初体验

    幸运的我在今年七月生下了一对双胞胎女儿。所有人都向我投来羡慕的眼光,“你真有本事”“你好伟大啊”“姐们儿,...

  • 爱之初体验

    窗外的梨花吹白了你的脸 和你离去后 我红肿的眼 我爱你 但是 到此为止了

  • 爱之初体验

    喜欢画画很多年了,动手画画却是小学毕业后的第一次。 昨晚报了心蓝老师的彩铅课,今早趁着一小只睡着,把先导作业完成了...

  • 爱之初体验

    梨花落后雪成堆 晶莹剔透赞你美 你自迷人我自醉 问你何时为我归

  • 爱之初体验

    你静静地从我窗前走过 留下淡淡的芬芳填满我的回忆 我也曾守候一夏 直到你穿上我送你的雪裙 转头对我招手微笑 转眼话...

网友评论

    本文标题:es6爱之初体验

    本文链接:https://www.haomeiwen.com/subject/sychottx.html