背景
我有一些在ES2015中编写的测试,但由于在v2.1中QtWebKit缺乏ES2015支持,因此需要将其转换为ES5才能在PhantomJS中运行。 2.5 beta应该支持它。
巴别-CLI:
我可以使用babel-cli
babel main.test.js --out-file main.test.es5.js
为了转换脚本目录,我可以使用:
babel tests --out-dir compiled-tests
这会将已编译的测试脚本输出到compiled-tests
目录。如果我使用相同的目录,它将覆盖原始目录,因此我们不希望这样。
问题:
有没有办法在babel-cli
的目录模式下修改文件名或扩展名,而无需循环浏览文件并使用babel.transformFileSync
?
例如,我期望按照以下方式做点什么:
babel tests --out-dir tests --outputExtension=".es5.js"
这需要a.js
,b.js
等,并输出a.es5.js
,b.es5.js
等。
我还可以想象使用正则表达式提取源文件名的部分并将其与自定义组合的选项。
答案 0 :(得分:2)
自v7.8.0起,您可以使用babel-cli的@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.save_memo: {
//test
mNote.setTitle(editTitle.getText().toString());
mNote.setContent(content.getText().toString());
mNote.setTimestamp("00 0000");
mRepository.insertNewMemo(mNote);
finish();
break;
}
}
}
标志:
--out-file-extension
答案 1 :(得分:-1)
有grunt-babel
等构建工具,可以修改扩展名:
files: [{
expand: true,
cwd: 'test/',
src: ['*.test.js'],
dest: 'test/',
ext: '.test.es5.js'
}]
这是一个解决方案。但是,我不想依赖于将grunt
用于一个小项目。
我可以创建一个节点脚本来执行grunt插件所做的事情,这很简单,但我认为babel-cli
包应该天真地支持这个。我将研究添加它的可能性。
与此同时,我有一个解决方法。我将我的测试文件重命名为使用.es6
扩展名,然后强制babel-cli
仅查看该特定扩展名。 ES5代码的输出为.js
。
babel test --extensions=".es6" --out-dir test
它不允许我重命名脚本名称,甚至不提供不同的扩展名,但它可以帮助我区分同一目录中的两个版本。