我的脚本代码遵循jshint样式,它只允许单引号中的javascript字符串。但是当我使用babel来翻译我的ES6模板文件时,它会生成带有双引号的字符串,我怎么能禁止这个呢?
例如:模板生成如下代码:
throw new TypeError("Cannot call a class as a function");
我希望产生:
throw new TypeError('Cannot call a class as a function');
答案 0 :(得分:1)
Babel-generator包接受quotes
选项。它现在似乎已被打破:https://github.com/babel/babel/pull/3367但是,在此之后将被修复,您可以手动使用babel-generator来根据您的代码样式生成代码:
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);
您无法使用CLI执行此操作,因为它不接受此选项作为参数。
P.S。在生成的代码上使用jshint或其他代码样式检查器并不好。生成的代码不打算被人阅读,只有开发人员才能显示ES6源并允许编辑。