使用Less插件我得到了一个不错的选择 - >每当我保存文件时Css编译。如何与Babel获得相同的行为,将ES6代码转换为ES5?感谢
答案 0 :(得分:4)
less2css
Sublime插件利用Sublime API的on_post_save()事件来侦听文件Save,然后触发将自动编译.less文件的代码。通过在插件中使用此事件,并将其链接到将使用Babel自动编译当前文件的外部命令,可以为Babel ES6-to-ES5编译完成类似的操作。这是一个简单的ST2插件,用Python编写,可以实现这个目的:
import sublime, sublime_plugin,os
from os.path import dirname, realpath
class BuildonSave(sublime_plugin.EventListener):
def on_post_save(self, view):
es6File = view.file_name()
filename, file_extension = os.path.splitext(es6File)
if file_extension == ".es6":
view.window().run_command('exec',{'cmd': ["/usr/local/bin/babel", es6File, "-o", filename+".js", "--source-maps", "inline"] })
注意:此插件会查找.es6后缀文件,并将它们编译为相应的.js文件,例如: myfile.es6,将被转换为ES5 myfile.js文件。
如果您使用的是Mac OS X,则可以在终端上运行cmd
命令在您的系统上获取/usr/local/bin/babel
位置which babel
。
也可以在此处找到源代码:https://gist.github.com/kostasx/1d55c62edcee88375fc8
如果您想与上面的代码混合,可以查看Sublime Plugin API文档。