Transpiller and Internet Explorer 8

3

我想在我的新项目中使用BabelJS,但我有一个很大的要求:它必须可以在IE8上运行。

问题: Babel将ES6编译为ES5。IE8对ES5的支持很差。

你知道除了Babel以外的替代方案吗?这些方案允许我编写易于调试和"IE8友好"的"OOP"代码。

2个回答

6
你可以使用 TypeScript,它可以让您构建符合EcmaScript 3兼容性的代码。
要开始使用 TypeScript,您只需要在 Visual Studio(或VSCode/Sublime/WebStorm)中创建一个简单的项目,并像这样配置 tsconfig.json。请点击 getting started 获取更多信息。
{
  "compilerOptions": {
    "target": "es3",
    "declaration": true,
    "noImplicitAny": false,
    "removeComments": true,
    "noLib": false,
    "emitDecoratorMetadata": true,
    "sourceMap": true,
    "listFiles": true,
    "outDir": "",
    "out": "./Compiled/myfile.js",
    "experimentalDecorators": true
  },
  "files": [
    "myfile.ts"
  ]
} 

祝你好运!

相关资源

  1. WebStorm中的TypeScript
  2. Sublime插件中的TypeScript
  3. VS Code中的TypeScript

1
Babel有一个“宽松”模式,适用于其多个转换,使它们生成使用更少的精美ES5功能的代码,代价是规范兼容性较低。通常,如果您启用它们并避免使用getter和setter等ES5特定语法,则在IE8中应该可以正常工作。
其中很多内容都在警告页面中涵盖。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接