Ich kann meine angular 2-Anwendung nicht kompilieren, wenn sie in der tsconfig.json-Datei auf es5 gesetzt ist. Wenn ich es in es6 ändere, verschwinden alle meine Compilerfehler.Angular2: Viele Fehler beim Kompilieren nach ES5
TSconfig:
"compilerOptions": {
"target": "es5",
"module": "system",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"moduleResolution": "node"
},
"files": [ ...
Index.HTML
<script src="~/node_modules/systemjs/dist/system.src.js"></script>
<script src="~/node_modules/es6-shim/es6-shim.min.js"></script>
<script src="~/node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="~/node_modules/moment/min/moment.min.js"></script>
<script>
System.config({
defaultJSExtensions: true,
baseURL: '/ECAV.Admin/node_modules',
packages: {
'app': { format: 'register', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' }
},
paths: {
'angular2/*': 'angular2/*',
'rxjs': 'rxjs/bundles/Rx.js',
'linqsharp': 'linqsharp/built/linqsharp',
'highcharts': 'highcharts',
'ng2-highcharts': 'ng2-highcharts/ng2-highcharts',
'lodash': 'lodash/lodash'
},
map: {
moment: 'moment/moment.js'
}
});
</script>
<script src="/Admin/node_modules/rxjs/bundles/Rx.js"></script>
<script src="/Admin/node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="/Admin/node_modules/lodash/lodash.js"></script>
Beispiel Fehler (es gibt viele davon aus Bibliotheksklassen):
Build: Cannot find name 'Set'. Admin C:\dev\ecav\Admin\node_modules\angular2\src\common\directives\ng_class.d.ts 72
Einer meiner requirments ist um diese Website in IE11 zu betreiben, brauche ich es5.
Jede Hilfe würde sehr geschätzt werden.
Warum definieren Sie einen 'files' Block in Ihre tsconfig.json Datei und was enthält er? Vielen Dank! –
Sie sind Pfade zu den Dateien, die ich in der Ferne haben möchte, da es einige Dateien gibt, die ich aus verschiedenen Gründen, Spezifikationen usw. weglassen möchte. "files": [ "typings/browser.d.ts", "app /boot-main.ts ", Wenn ich jedoch den Dateieintrag entferne, bekomme ich das gleiche Verhalten. Ich kann den Code nicht nach es5 kompilieren. Ich könnte vielleicht einen Babel transpiler in SystemJS verwenden? Danke Thierry :) – KnowHoper