5

es6babel CLIで単純なファイルをコンパイルしようとしています

以下の詳細を考えると、何がうまくいかないのですか?

$ 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 を取り出します(ただし、間隔が少し異なり、セミコロンが追加されています)。インポートが require に変換され、バックティックが消えることを期待しています。

つまり:私は ES5 が欲しい.

他に何をする必要がありますか?

4

2 に答える 2

10

Babel バージョン 6 は「デフォルトの変換なし」で出荷されます。変更の詳細については、このブログ投稿をご覧ください。

es6 を es5 にトランスパイルするには、次の手順を実行する必要があります。

  1. 走るnpm i --save-dev babel-preset-es2015

  2. .babelrcプロジェクトのルートに次のファイルを作成します。

    {

       "presets": ["es2015"]
    

    }

その上でできる設定はたくさんありますが、少なくともそれで始めることができます。

于 2015-11-11T23:45:13.030 に答える
1

秘訣:--presets "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));
于 2015-11-11T23:45:15.693 に答える