如何在ie11中使用browser.js解决es6类问题
How to use browser.js to solve es6 class issue in IE 11
我正在使用javascript类,并在IE 11中遇到了SCRIPT1002问题,IE无法解释es6中可用的"class"关键字。我一直在阅读使用巴别塔是解决这个不幸问题的一种方法。然而,我有问题理解如何正确地做到这一点。下面是我的代码。我需要添加什么来允许IE 11正确解释js类?
头文件包括babel.js (browser.js正在正常加载)
<!-- babel -->
<script type="text/babel" src="<?php echo $GLOBALS["COMMON_ROOT"]; ?>/scripts/babel-5.8.29/browser.js"></script>
类导致SCRIPT 1002错误
class assessmentAnswer {
constructor(answerID, questionID, answerText, imagePath) {
this._answerID = answerID;
this._questionID = questionID;
this._answerText = answerText;
this._imagePath = imagePath;
}
getAnswerID(){
return this._answerID;
}
getQuestionID(){
return this._questionID;
}
getAnswerText(){
return this._answerText;
}
getImagePath(){
return this._imagePath;
}
getAll(){
return this.getAnswerID()+","+this.getQuestionID()+","+this.getAnswerText()+","+this.getImagePath();
}
}
不要尝试在ie中运行babel。它会非常慢。使用编译器工具链(babel)创建离线构建过程,并提供编译后的文件。的确,所有现代浏览器都理解class关键字,但除非您必须支持至少一种不理解class关键字的浏览器,否则您必须进行编译。babel编译器是一个复杂的javascript程序,我相信你不希望在你的web应用程序中包含额外的数百kb的js代码。离线编译才是正确的选择。
你可能想知道为什么babel能够在浏览器中做到这一点:它是为了支持一些开发人员的工作流程而创建的,但现在它基本上是不必要的,因为浏览器实现了大多数es6规范和一些esnext规范,如async/await。
这个线程应该帮助你开始:当我使用babel时,我需要require js吗?
相关文章:
- 如何解决'窗口未定义'终端上的节点JS出错
- Chart.js-添加渐变而不是纯色-实现解决方案
- JS驱动的常见问题页面的推荐DB解决方案
- 这里有一个更优雅的/DRY/可维护的JS解决方案
- 如何解决node.js的ENOENT错误
- 当我想发布一个变量但有 1 个 js 时,ajax post 的解决方案是什么
- 文本编辑工具栏解决方案 (js),具有低级自定义
- 如何在 JavaScript for D3.js 中解决这样的范围问题
- 如何解决使用easyResponsiveTabs.js时固定菜单的闪烁问题
- 有没有一种方法可以在IE8中解决我的Rails javascript应用程序.js的问题
- "捆绑;仅适用于HTML/JS的解决方案
- 可以'我找不到关于koa.js研讨会解决方案的解释,练习一
- node.js nodeschool learnyounode需要帮助理解解决方案的代码
- 具有依赖关系的UMD的终极JS模块解决方案
- 使用 unity,我的 js 文件无法解决问题
- 你能解释一下第 3 章 Eloquent js 中的这个递归解决方案吗?
- Angular js - 解决不将参数传递给控制器的问题
- 导入引导主题会损坏 Odoo 9 的 CSS 和 JS.我应该如何解决它
- 解决js中getter的丑陋语法
- 试图解决js koan / about_array.js