问题描述
我正在尝试找到一种在使用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 (将#修改为@)