不是应该生成src吗?
这是包含您要转译的脚本的文件夹。如果它不存在,那么 babel 将抛出您发布的错误。
另外,请注意您链接到的页面底部的内容:
在 6.x 之前,Babel 默认启用某些转换。然而,Babel 6.x 并未启用任何转换。您需要明确告诉它要运行哪些转换。最简单的方法是使用预设,例如 ES2015 预设。
这意味着即使您创建了src
目录并在其中放置一个包含 ES6 代码的文件,Babel 会愉快地运行,但输出将(几乎)与输入相同。
这是如何启动和运行 babel-cli 的快速示例。
创建一个项目,然后安装 babel-cli 包和 ES2015 预设:
mkdir babeltest && cd babeltest
touch package.json
npm install babel-cli babel-preset-es2015 --save-dev
下一步编辑package.json
:
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"build": "babel src -d lib"
},
"scripts": {
"build": "babel --presets es2015 src -d lib"
},
"devDependencies": {
"babel-cli": "^6.0.0"
}
}
请注意,npm 脚本中的命令与巴贝尔主页 https://babeljs.io/docs/setup/#babel_cli,就我们告诉它使用已安装的预设而言。
接下来在 src 目录中创建一个文件:
mkdir src && cd src
touch main.js
在main.js中添加:
[1,2,3].map(x => x * x)
然后通过 npm 运行 babel:
npm run build
并检查 lib/main.js 中的输出
"use strict";
[1, 2, 3].map(function (x) {
return x * x;
});