2017-12-18 14 views
0

すでに変数に読み込まれているES6に変換するためにBabelを使用しようとしています。しかし、私はバベルの文書に反して見つけていますbabel.transform()は、コードを変換するために構成ファイルを使用していません。babel.transform()関数が.babelrcまたはpackage.jsonの設定を使用していません

以下は私の問題を示しています

package.json:

{ 
    "name": "babel-test", 
    "version": "1.0.0", 
    "main": "index.js", 
    "babel": { 
     "presets": [ 
      ["env", { 
       "targets": { 
        "ie": 8 
       } 
      }] 
     ] 
    }, 
    "devDependencies": { 
     "babel-core": "^6.26.0", 
     "babel-preset-env": "^1.6.1" 
    } 
} 

test.js:

const a = 0 

index.js:

const babel = require('babel-core') 
console.log(babel.transform('const a = 0').code) 
console.log(babel.transformFileSync('test.js').code) 

はCLI:

$ node index.js 
const a = 0; 
"use strict"; 

var a = 0; 

あなたはbabel.transformFileSync()を設定し、babel.transform()を使用している見ることができるようではありません。

babel.transform()に設定ファイルを使用するにはどうすればよいですか?

答えて

1

.babelrcファイルは、コンパイルされているファイルから相対的に検索されるため、ファイルの名前がわからない場合、ファイルを見つけることができません。

babel.transform('const a = 0', {filename: "test.js"}).code) 

などが有効です。

+0

それはそれです!ありがとう。私はそれが彼らの文書にあるべきだと思う。 – McShaman

関連する問題