设置
Babel 6 (^6.0.0)、Node 5.4.0、Express 4.13.x、
babel-node和babel-register都警告不要在babel.io网站上使用。从根本上说,像这样在飞行中进行转移对生产来说太慢了。
因此,我已经设置了使用babel-cli并运行预转换代码的情况。
问题是:
在开发过程中,重新转换所有代码并为每次更改重新启动程序都太慢了。我也看不出如何设置更改监视器(例如nodemon)来自动重新加载,因为我们现在运行的是被转移的代码,而不是源代码(发生更改的地方)。
问题:
我们如何建立一种简单的方法,在开发过程中,在快速转移和生产前转换之间切换?
我看到的大多数例子都是用于开发和生产的babel-node和babel-register,所以我不确定在准备生产交付的代码库的同时,用babel进行快速开发的好策略是什么。
发布于 2016-04-29 05:30:48
注意许多非常流行的Node存储库仍在使用babel-node和babel-register作为生产代码,这可能是因为,就在不久前,它们更容易用于设置一个快速重新加载的开发环境。但是,使用babel-cli 与使用一样简单,我建议将其用于开发和生产代码。
在评论的帮助下,我谈到了我的核心问题:
“在开发时,如何避免在使用babel-cli时缓慢地重新构建源代码?”
与babel-node和babel-register提供的即时转换不同,后者在开发过程中可以快速重新启动,babel-cli将代码预转到一个构建目的地,在那里您的代码可以以es5格式单独运行。在开发过程中,每次更改之间从源到构建的构建代码都很慢,因为在重新启动服务器之前,必须等待每个文件被转移。
这个解决方案很简单,您需要的是babel-cli的watch 方法,它可以直接查看所有源代码,并且只需要通过重新生成监视时更新的文件来快速更新构建代码。
很抱歉,当您阅读这个解决方案时,这个解决方案是非常明显的,但是babel文档只显示监视单个文件的代码,而且目前有大量的流行库专门用于查看整个文件夹中的更改,因此我假设开箱即用解决方案有点新,因此使用babel-cli显然比使用babel-node和babel-register更好。
所以,您所要做的就是使用这样的npm脚本:
"watch-files" : "babel src --watch --out-dir build"每当进行更新时,在build目录中重新启动服务器(除非设置了监视build文件夹的自动重新加载)。
归功于@FelixKling和@aray12 12评论,这些评论帮助我认识到,即使在开发过程中,babel-cli也是非常容易使用的。
https://stackoverflow.com/questions/36926925
复制相似问题