gpt4 book ai didi

javascript - 如何使用 browser.js 解决 IE 11 中的 es6 类问题

转载 作者:行者123 更新时间:2023-12-03 05:54:41 24 4
gpt4 key购买 nike

我正在使用 javascript 类,并在 IE 11 中遇到 SCRIPT1002 问题,其中 IE 无法解释 es6 中可用的“class”关键字。我一直在读到使用 babel 是解决这个不幸问题的一种方法。但是,我在理解如何正确执行此操作时遇到问题。下面是我的代码。我需要添加什么才能让 IE 11 正确解释 js 类?

包含 babel.js 的 header (browser.js 正在正确加载)

<!-- babel -->
<script type="text/babel" src="<?php echo $GLOBALS["COMMON_ROOT"]; ?>/scripts/babel-5.8.29/browser.js"></script>

javascript 文件中的类导致 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();
}
}

此代码在 Firefox 中运行良好。

最佳答案

甚至不要尝试在 ie 中运行 babel。速度会非常慢。使用编译器工具链(babel)创建离线构建过程,并提供编译后的文件。确实,所有现代浏览器都理解 class 关键字,但是直到您必须支持至少一种不支持 class 关键字的浏览器之前,您将必须进行编译。 babel 编译器是一个复杂的 javascript 程序,我确信您不想在您的 Web 应用程序中包含额外的数百 KB 的 js 代码。离线编译是可行的方法。

您可能想知道为什么 babel 能够在浏览器中执行此操作:它是为了支持某些开发人员工作流程而创建的,但现在它几乎没有必要,因为浏览器实现了大部分 es6 规范和一些 esnext 规范,例如 async/await也是。

这个线程应该可以帮助您开始:Do I need require js when I use babel?

关于javascript - 如何使用 browser.js 解决 IE 11 中的 es6 类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39988000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com