背景:
我有一些用ES2015编写的测试,但由于在2.1版的QtWebKit中缺乏ES2015支持,需要将它们转换到ES5中才能在PhantomJS中运行。2.5测试版应该支持它。
babel-cli:
我可以使用ES5将测试转到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等。
我还可以想象使用正则表达式提取源文件名的部分并将其与自定义的内容结合起来的选项。
发布于 2020-03-10 14:14:09
发布于 2017-04-12 12:08:48
有一些像grunt-babel这样的构建工具,允许您修改扩展:
files: [{
expand: true,
cwd: 'test/',
src: ['*.test.js'],
dest: 'test/',
ext: '.test.es5.js'
}]这是一个解决办法。但是,我不希望在一个小项目中使用grunt。
我可以创建一个节点脚本,它可以执行grunt插件所做的操作,这很简单,但我认为babel-cli包应该天真地支持这一点。我会研究是否有可能加进去。
同时,我有个解决办法。我将我的测试文件重命名为使用.es6扩展名,然后强制babel-cli只查看这个特定的扩展名。输出将为.js,用于ES5代码。
babel test --extensions=".es6" --out-dir test它不允许我重命名脚本名,甚至不能提供不同的扩展,但它帮助我区分同一目录中的两个版本。
https://stackoverflow.com/questions/43369099
复制相似问题