ES6 怎么样最快的跑起来呢?

ES6很好用,但是写完之后怎么样最快的跑起来呢?

也许你会觉得配个webpack打包工具就好了,其实这不是最方便的,而且一般我们用webpack是用来打包js源文件到浏览器中,以便引用这一个(或几个)entry文件即可。

如果我只是想当一个脚本或者一个nodejs的backend项目运行怎么弄?

单文件脚本

如果是单文件脚本。那你只需要安装npm install -g bable-cli到全局。

然后你就可以执行babel xxx.js,会输出编译后的js文件内容。

或者也可以输出到一个文件。

关键你还可以直接执行babel-node xxx.js来执行js文件。

不过babel-node本身支持的es6的特性比较少。

比如let和import这种就不支持。需要加入preset/transform的支持才行。

这样的话就跟下面要讲的多文件方式无异了。

多文件npm项目

所以,还是以项目的视角来弄比较好。

一般也是这样的。

假设,你已经通过npm init创建了一个npm的项目,并且已经把代码写好了。

– 首先还是要安装babel-cli,不过不需要加全局标志-g。

这也是官方推荐的做法。

– 然后安装你需要的preset,一般目前来说,es2015这个preset可以说是标配了。

执行npm install babel-preset-es2015 –save-dev

好,准备工作已经好了。

那么,接下来,你可以: – 直接执行文件。

假设你的入口文件是index.js,那么你可以这么直接执行它:./node_modules/.bin/babel-node –presets babel-preset-es2015 index.js

或者./node_modules/babel/bin/babel-node –presets babel-preset-es2015 index.js –

或者,如果它是一个模块项目,或者你想让别人import/require你的文件。

那你需要把你的文件转译成标准的node文件。

就是编译出来不执行。

你可以把你的源文件放在src目录下,然后执行./node_modules/.bin/babel –presets babel-preset-es2015 src –out-dir dist,这样编译后的文件就都到dist目录下了。

配置npm的script

这里要说的是针对上面的你可以后面的简化。

你可以注意到上面的执行语句总是那么长那么难看,有没有简单好用的方法。

当然有!

npm配置文件里有个script的模块,就是用来干这个事的。

你可以添加对应的两项到package.json中: json … “scripts”:{ “index”:”babel-node –presets babel-preset-es2015 index.js”, “build”:”babel –presets babel-preset-es2015 src –out-dir dist” }, …

然后,以后每次执行npm run index就是执行index.js的效果,执行npm run build就是编译的效果。

关于Babel

有没有注意到上面到处充斥的babel这个字眼,没错,这个东西在es6代码转换上面相当火。

同时你有没有注意到上面充斥的那些字眼里最恶心的就属–presets babel-preset-es2015这串,即使后面配到了npm的scripts里也还是有它。

想不想干掉它?

当你去研究了Babel后会发现,其实是可以的干掉它的。

只要在项目目录下创建.babelrc,里面写入内容: json { “presets”:[“es2015”] } 然后上面出现的这恶心的一串都可以省掉。