Node.js 如何使用babel CLI编译文件 我正在尝试用babel CLI编译一个简单的es6文件
考虑到以下细节:出了什么问题Node.js 如何使用babel CLI编译文件 我正在尝试用babel CLI编译一个简单的es6文件,node.js,babeljs,transpiler,Node.js,Babeljs,Transpiler,考虑到以下细节:出了什么问题 $ node --version v5.0.0 $ npm --version 3.3.6 $ npm init $ npm install --save-dev babel-cli $ echo -e 'import url from "url"\nconsole.log(`2+2=${2+2}`)' > script.js $ ./node_modules/.bin/babel script.js import url from "url";
$ node --version
v5.0.0
$ npm --version
3.3.6
$ npm init
$ npm install --save-dev babel-cli
$ echo -e 'import url from "url"\nconsole.log(`2+2=${2+2}`)' > script.js
$ ./node_modules/.bin/babel script.js
import url from "url";
console.log(`2+2=${ 2 + 2 }`);
换句话说:我输入ES6,然后输出ES6(尽管间距略有不同,并添加了分号)。我希望看到导入转换为requires,并看到我的back ticks消失
也就是说:我希望ES5退出
我需要做什么不同的事情?Babel版本6提供“没有任何默认转换”。您可以阅读有关中的更改的更多信息
要将es6传输到es5,您需要执行以下操作:
npm i——保存dev-babel-preset-es2015
.babelrc
文件,其中包含以下内容:
{
}除此之外,您还可以进行很多配置,但这至少可以让您开始。诀窍:需要将
--预设“es2015”
作为参数传递给babel
例如:
$ ./node_modules/.bin/babel --presets "es2015" script.js
"use strict";
var _url = require("url");
var _url2 = _interopRequireDefault(_url);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
console.log("2+2=" + (2 + 2));
什么版本的巴别塔?他们最近讨论了记录6.1的工作原理(另一种说法是:上面显示的命令是在我提问时运行的。)这个问题每天被问多次。请使用搜索或至少浏览
babeljs
标签(我还建议阅读您添加的标签的标签描述),这很好——谢谢!没问题!在版本6发布时遇到了同样的问题。
$ ./node_modules/.bin/babel --presets "es2015" script.js
"use strict";
var _url = require("url");
var _url2 = _interopRequireDefault(_url);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
console.log("2+2=" + (2 + 2));