2016-04-06 4 views
1

       私のスクリプトのコードは、一重引用符でjavascript文字列のみを許可するjshintスタイルに従います。しかし、私がES6テンプレートファイルを翻訳するためにバベルを使用すると、二重引用符で文字列が生成されることがありますが、どうすればこれを禁止できますか?babelはes6テンプレート文字列を一重引用符でのみ変換します。

例えば:テンプレートは、このようなコード生成:
throw new TypeError("Cannot call a class as a function");
を私は生成したい:
throw new TypeError('Cannot call a class as a function');

+4

jshintを出力に変換しないでください。 –

答えて

1

バベル発電パッケージはquotesオプションを受け入れます。今は壊れているようです:それはdoesnのため、あなたはそれがCLIを使用して行うことはできません

var core = require('babel-core'); 
var generate = require('babel-generator'); 

var ast = core.transformFileSync('test.js', { 
    // here should be your babel configuration 
    presets: ['es2015'] 
}).ast; 
console.log(generate.default(ast, {quotes: 'double'}).code); 

:これが修正されます後https://github.com/babel/babel/pull/3367しかし、あなたはあなたのコードスタイルに従ってコードを生成するために、手動でバベル・ジェネレータを使用することができます引数としてこのオプションを受け入れません。

P.S.生成されたコードでjshintや他のコードスタイルチェッカーを使うのは良くありません。生成されたコードは人によって読み込まれるようには意図されていませんが、開発者向けに表示され、編集が許可されるのはES6ソースだけです。

関連する問題