babel-preset-es2015-argon
是一个用于 Babel
6.x 的 preset
,该 preset
可以让你在浏览器或者 Node.js 运行环境中使用 ES2015+
语法,这个 preset
主要针对于阿里云 Serverless 框架中使用的 Node.js
版本,因为 Serverless 框架中的 Node.js
版本比较旧,可能不支持最新的 ECMAScript 语法,因此需要使用 babel-preset-es2015-argon
进行转换。
安装
首先需要安装 Babel
和 babel-preset-es2015-argon
,在项目根目录下执行下面的命令:
npm install --save-dev babel-core babel-preset-es2015-argon
配置
在项目根目录下,创建 .babelrc
文件,内容如下:
-- -------------------- ---- ------- - ---------- - ---------------- - ---------- - ------- ------ - -- - -
其中 { "targets": { "node": "6.10" } }
指定了你打算在哪个版本的 Node.js
中运行该代码。
使用
在 package.json
中添加以下两条 script
:
{ "scripts": { "build": "babel src -d lib --copy-files --no-copy-ignored", "start": "node lib/index.js" } }
其中 "build"
的意思是将 src
目录下的所有文件转换成 lib
目录下的文件,并且会将 src
下所有非 Javascript
文件一同拷贝到 lib
目录下。
"start"
的意思是在 lib
目录下执行 index.js
文件。
现在,你已经可以使用新版本的 ECMAScript 语法了。
示例代码
ES2015
-- -------------------- ---- ------- -- --- --- --- ----- ------- -- --- --- - - -- ----- - - -- -- ----- --------- ----- ------ - --- -- - - -- -- ------------- ----- --- - - ----- ------ ---- -- -- ----- - ----- --- - - ---- -- -------- -------- --------------- ---- -- -------- --- - -- ------ ----- ------- -- --------- ----- ----- - --- -- -- -- --- --- ------ ---- -- ------ - ------------------ -
ES2016
// use exponentiation operator const square = (x) => x ** 2;
ES2017
// use async/await async function getInfo() { const response = await fetch('/api/info'); const json = await response.json(); return json; }
结论
通过上面的教程,你已经学会了如何在 Serverless 框架中使用 Babel
和 babel-preset-es2015-argon
转换 ECMAScript 语法。现在,你可以放心的使用最新的 ECMAScript
语法编写你的项目了。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc3f6b5cbfe1ea0612172