Wenn IE11 verwenden, bekomme ich Fehler wie mein Code unten überall verwendet Object.entries oder Object.values:Wie Babel Transspile Object.entries/Werte in Aurelia CLI App?
Unhandled rejection TypeError: Object doesn't support property or method 'entries'...
Mein Problem I ergibt sich aus dem Code Figur nicht zu ES5 transpiled werden, war aber nicht sicher, wie Überprüfen oder ändern Sie meine Projekteinstellungen für das Transpilieren/Babel bei Verwendung der Aurelia CLI.
hinein Blick weiter, ich glaube, die Babel/Einstellungen mit Aurelia verpackt nicht Object.entries/Werte (oder anderen vorgeschlagenen ES2017 Optionen) unterstützen, so habe ich installiert babel-preset-es2017
und babel-plugin-transform-runtime
pro einem anderen Thread - Babel support for Object.entries
jedoch Ich konnte nicht herausfinden, wie ich das Projekt aktualisieren sollte, um diese für das Transpilieren einzubinden. Hinzufügen in transform-runtime
in aurelia.json
oder .babelrc
Datei bricht die au run
und einfach hinzufügen es2017
in die .babelrc
Datei schien nichts zu tun. Ich schaute auch auf die Dateien jsconfig.json
und transpile.js
, konnte aber keine Lösung finden.
aurelia.json
Datei:
...
"transpiler": {
"id": "babel",
"displayName": "Babel",
"fileExtension": ".js",
"options": {
"plugins": [
"transform-es2015-modules-amd",
"transform-runtime" <---tried
]
},
"source": "src/**/*.js"
},
...
.babelrc
Datei:
{
"sourceMap": true,
"moduleIds": false,
"comments": false,
"compact": false,
"code": true,
"presets": ["es2015-loose", "stage-1", "es2017"], <---tried
"plugins": [
"syntax-flow",
"transform-decorators-legacy",
"transform-flow-strip-types",
"transform-runtime" <---tried
]
}
die transform-runtime
in entweder Ergebnisse in der folgenden Fehler Hinzufügen:
Error: ENOENT: no such file or directory, open 'C:\Users...\src\babel-runtime\helpers\classCallCheck.js'
nicht sicher, warum ich erhalte diese Fehler oder wenn es beheben würde helfen, aber mein Vermutung könnte wegen der "source": src/**/*.js
in aurelia.json
Jede Hilfe würde sehr geschätzt werden. Vielen Dank!
'Object.values' wird Teil von ES201 ** 7 **, es ist nicht Teil von ES7 (ES2016). –
@FelixKling Es war mir zunächst nicht klar, worauf Sie das hingewiesen haben, aber Sie haben es gelesen und den Fehler gesehen. Danke, dass du das verstanden hast. – YoYoWC