javascript - Transpiler och Internet Explorer 8
Jag vill använda BabelJS för mitt nya projekt, men jag har ett stort krav: Det måste kunna köras på IE8.
PROBLEM: Babel kompilerar ES6 till ES5. Stödet för ES5 på IE8 är dåligt.
Känner du till alternativ till Babel som låter mig skriva "OOP"-kod, lätt att debugga och "IE8-vänlig"?
Svar #1
Du kan använda Typescript, det ger dig möjlighet att bygga kod som är kompatibel med EcmaScript 3.
Allt du behöver för att komma igång med TypeScript - är att skapa ett enkelt projekt i Visual Studio (eller VSCode/Sublime/WebStorm), och konfigurera tsconfig.json så här
{
"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"
]
}
Lycka till!
Relaterade resurser
- TypeScript i WebStorm
- TypeScript Sublime-plugin
- TypeScript i VS Code
Svar #2
Babel har ett 'löst' läge för flera av dess transformationer som gör att de genererar kod som använder färre avancerade ES5-funktioner, på bekostnad av mindre specifikationskompatibilitet. Generellt, om du aktiverar dem och undviker ES5-specifik syntax som getters och setters, borde saker fungera i IE8.
Mycket av detta täcks på sidan med förbehåll.
