🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

1回答

1417閲覧

Babelのトランスパイルがうまくいきません

theplace

総合スコア24

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

2クリップ

投稿2019/10/22 20:42

編集2019/10/25 01:13

sudo npm install -g babel-preset-es2015sudo npm install -g babel-cliによってBabel本体とBabelコマンドをそれぞれインストールし、以下のコマンドを実行しました。
babel /Users/north/Desktop/sample.js -o /Users/north/Desktop/sample3.js

しかし、新たに生成されたsample3.jsは元のsample.jsと同一のようでした。

(sample.js↓)

var pet = { a: 'aa', a2: 'a2a2', x: 'xx' } var pet2 = { b: 'bb', b2: 'b2b2', x: 'x2x2' } var pet3 = { c: 'cc', c2: 'c2c2', x: 'x3x3' } Object.assign(pet, pet2, pet3); console.log(pet); export class Member { constructor(a,b){ this.aaa = a; } } export class Area { } import {bbb} from '/Users/north/Desktop/sample2';

(sample3.js↓)

var pet = { a: 'aa', a2: 'a2a2', x: 'xx' }; var pet2 = { b: 'bb', b2: 'b2b2', x: 'x2x2' }; var pet3 = { c: 'cc', c2: 'c2c2', x: 'x3x3' }; Object.assign(pet, pet2, pet3); console.log(pet); export class Member { constructor(a, b) { this.aaa = a; } } export class Area {} import { bbb } from '/Users/north/Desktop/sample2';

exportimportという文法はes2015で新しく追加された文法なので、古いJavaScriptでも動くようなnode.jsの記述に変換されることを想定していましたが、何も変化がないようです。
これは何が原因なのでしょうか。

(試したコマンド)
babel /Users/north/Desktop/sample.js -o /Users/north/Desktop/sample3.js --presets-es2015

(.babelrc)場所:/usr/local/lib/node_modules/babel-preset-es2015/.babelrc

{ "presets": ["env"] }

(.babelrc②)場所:/usr/local/lib/node_modules/babel-preset-es2015/.babelrc

{ "presets": ["es2015"] }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

これは何が原因なのでしょうか。

変換指定を何も行っていないのが原因と思われます。--presets=es2015のように指定するか、.babelrcファイルを作って設定してみましょう。

投稿2019/10/23 00:58

maisumakun

総合スコア145967

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

theplace

2019/10/25 01:14

ありがとうございます。 上記補足の通り行ってみまししたが、特に変化がありません。
aaharu

2019/11/03 06:49 編集

(試したコマンド) の `--presets-es2015` 手元で試しましたが、このオプションの指定の仕方が間違えてますね。 元の回答のように `--presets=es2015` (イコールとハイフンを見間違え?)や `--presets es2015` のようにすると動作しました。 オプションの指定の仕方などは `babel -h` などで確認しておくと良いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問