在JavaScript中同时使用Babel和Razor?

问题描述

我正在尝试找到一种在使用Babel预编译的JavaScript文件中使用Razor的方法

我们目前有一些.cshtml文件,它们利用Razor来处理翻译,如下所示: console.log('@Translate("textHere")')

我们现在还需要支持IE11。理想情况下,将使用Babel完成此操作,以便我们可以继续使用ES6语法。

我在网上找到的使用Babel的主要方法是在启动服务时使用babel和webpack预先编译.js文件。但是,如果我们使用.js文件,我们将不再有权访问Razor。 即使我们想以某种方式让Babel预先编译.cshtml文件,我也很确定Babel会声称我们的Razor是无效的JS语法,并且仍然不会预先编译脚本。

我确实找到了一个选择,那就是Babel确实提供了一种在浏览器中编译<script>标签而不是预编译的机制。但是,这也可以理解为带有注释:

在浏览器中进行编译的用例非常有限,因此,如果您在生产站点上工作,则应在服务器端预编译脚本。

我还看到了一些反对使用Razor进行JavaScript渲染的说法,因为它阻止了我们的.js文件在客户端缓存,从而增加了重复的加载时间。

我们应该同时使用Babel和Razor吗? 如果是这样,在JavaScript中同时使用Babel和Razor的最佳策略是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)