如何解决在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 举报,一经查实,本站将立刻删除。