node.js学习笔记之babel使用
babel的作用不用多说了,是个学Node.js的应该都知道。在此做个标记,记录一下babel相关的npm包和配置方法。
截止到2018年5月2日,我见到了在我看来对babel讲解最详细的两篇文章,分享给大家:
https://excaliburhan.com/post/babel-preset-and-plugins.html
https://github.com/jamiebuilds/babel-handbook/blob/master/translations/zh-Hans/user-handbook.md#toc-configuring-babel
看过这两篇之后,下面的内容各位就可以不用看了,下面是我在初学初用babel时做的笔记,不堪入目。
----------------------------------这是分割线---------------------------------------
babel包如下,各有各的作用:
transform-strict-mode(由于很多ES特性需要严格模式才能打开,添加这个插件就会自动在所有文件上添加'usestrict';)transform-strict-mode(由于很多ES特性需要严格模式才能打开,添加这个插件就会自动在所有文件上添加'usestrict';)transform-es2015-modules-commonjs(将ES6模块标准转换成Node.js用的CMD模块标准)transform-es2015-spread(支持ES6的spread操作符)transform-es2015-destructuring(支持赋值解构)transform-es2015-parameters(支持默认参数,参数解构,以及其他参数)
安装包:
#安装core和命令行工具$npminstall--save-devbabel-corebabel-cli#安装所有插件$npminstall--save-devbabel-plugin-transform-strict-modebabel-plugin-transform-es2015-modules-commonjsbabel-plugin-transform-es2015-spreadbabel-plugin-transform-es2015-destructuringbabel-plugin-transform-es2015-parameters
添加配置文件:
需要在项目根目录下建一个.babelrc的文件。
.babelrc:
{"plugins":["transform-strict-mode","transform-es2015-modules-commonjs","transform-es2015-spread","transform-es2015-destructuring","transform-es2015-parameters"]}
文件组织
由于 Node.js本身有加载器, 所以不需要将所有文件打包成一个文件, 推荐的做法是, 添加一个 src 目录, 用于存放 ES6 脚本, 然后将整个目录打包到 lib 目录下, 对应的脚本为
babelsrc--out-dirlib
开发调试的时候, 可以直接用 babel-cli 模块提供 babel-node 代替 node 直接启动 src 目录下面的入口脚本。
babel-nodesrc/index.js
最后, 将命令封装到 package.json 里面:
{"name":"xxxxx","version":"1.0.0","description":"","main":"index.js","scripts":{"start":"babel-nodesrc/index.js","build":"babelsrc--out-dirlib"},"author":"","license":"ISC","dependencies":{"babel":"^6.5.2","redux":"^3.3.1"},"devDependencies":{"babel-cli":"^6.5.1","babel-core":"^6.5.2","babel-plugin-transform-es2015-destructuring":"^6.5.0","babel-plugin-transform-es2015-modules-commonjs":"^6.5.2","babel-plugin-transform-es2015-parameters":"^6.5.0","babel-plugin-transform-es2015-spread":"^6.5.2","babel-plugin-transform-strict-mode":"^6.5.2"}}
封装命令的重点是:
"scripts":{"start":"babel-nodesrc/index.js","build":"babelsrc--out-dirlib"},
我们就可以使用下面的命令启动和编译我们的代码了
#npmrunbuild构建脚本#npmstart使用babel-node启动进程
当然,不用每次都执行构建脚本的命令,只需要 #npm start 这一个命令也是可以的。
本文参考http://taobaofed.org/blog/2016/01/07/find-back-the-lost-es6-features-in-nodejs/
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。