Angular 2 RC 4 "(SystemJS) Невозможно разрешить все параметры для :« в IE 11

Мое веб-приложение отлично работает в Chrome, Firefox и Edge, но, конечно же, не в IE 11. Вероятно, не более старые версии IE. Это минимальное приложение, использующее Angular Cli для создания приложения.

Полная ошибка:

EXCEPTION: Can't resolve all parameters for [object Location]: (?). EXCEPTION: Can't resolve all parameters for [object Location]: (?). Unhandled Promise rejection: (SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js ; Zone: <root> ; Task: Promise.then ; Value: Error: (SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js "Unhandled Promise rejection:" "(SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js" "; Zone:" "<root>" "; Task:" "Promise.then" "; Value:" { [functions]: , __proto__: { }, description: "(SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js", message: "(SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js", name: "Error", originalErr: { }, stack: null, Symbol()_g.sn5fkg9wx58: undefined, Symbol(rxSubscriber)_o.sn5fkg9wx58: undefined } Error: Uncaught (in promise): Error: (SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js { [functions]: , __proto__: { }, description: "Uncaught (in promise): Error: (SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js", message: "Uncaught (in promise): Error: (SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js", name: "Error", promise: { [functions]: , __proto__: { }, __zone_symbol__state: 0, __zone_symbol__value: { }, Symbol()_g.sn5fkg9wx58: undefined, Symbol(rxSubscriber)_o.sn5fkg9wx58: undefined }, rejection: { [functions]: , __proto__: { }, description: "(SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js", message: "(SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js", name: "Error", originalErr: { }, stack: null, Symbol()_g.sn5fkg9wx58: undefined, Symbol(rxSubscriber)_o.sn5fkg9wx58: undefined }, stack: "Error: Uncaught (in promise): Error: (SystemJS) Can't resolve all parameters for [object Location]: (?). Evaluating http://localhost:4200/main.js Error loading http://localhost:4200/main.js at l (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:2987) at l (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:2816) at Anonymous function (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:3327) at e.prototype.invokeTask (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:7737) at e.prototype.runTask (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:5178) at a (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:2421) at invoke (http://localhost:4200/vendor/zone.js/dist/zone.min.js:1:8989)", Symbol()_g.sn5fkg9wx58: undefined, Symbol(rxSubscriber)_o.sn5fkg9wx58: undefined, task: { }, zone: { } } 

package.json

  "dependencies": { "@angular/common": "2.0.0-rc.4", "@angular/compiler": "2.0.0-rc.4", "@angular/core": "2.0.0-rc.4", "@angular/platform-browser": "2.0.0-rc.4", "@angular/platform-browser-dynamic": "2.0.0-rc.4", "@angular/router": "3.0.0-beta.1", "core-js": "^2.4.0", "es5-shim": "^4.5.9", "es6-shim": "^0.35.1", "reflect-metadata": "0.1.3", "rxjs": "5.0.0-beta.6", "systemjs": "^0.19.31", "zone.js": "^0.6.12" }, 

index.html

 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Focus Anbud</title> <base href='/'> {{content-for 'head'}} <link rel="icon" type="image/x-icon" href="favicon.ico"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Loading Spinner --> <link rel="stylesheet" href="assets/css/whirly.css"> <link rel="stylesheet" href="assets/css/bootstrap.min.css"> <link rel="stylesheet" href="assets/css/font-awesome.min.css"> <link rel="stylesheet" href="assets/css/ionicons.min.css"> <!-- <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <link rel="stylesheet" href="//code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> --> <!-- Theme --> <link rel="stylesheet" href="assets/css/AdminLTE.min.css"> <link rel="stylesheet" href="assets/css/skins/skin-blue.min.css"> </head> <body class="hold-transition skin-blue sidebar-mini"> <!--<div class="wrapper">--> <app> <div class="whirly-loader" style="margin-left: 50%; margin-top:20%">Loading...</div> </app> <!--</div>--> <!-- ./wrapper --> <!-- jQuery 2.1.4 --> <script src="plugins/jQuery/jQuery-2.1.4.min.js"></script> <!-- Bootstrap 3.3.6 --> <script src="assets/js/bootstrap.min.js"></script> <!--<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>--> <!-- AdminLTE App --> <script src="assets/js/app.js"></script> <!-- polyfills for older browsers --> <script src="vendor/es5-shim/es5-shim.min.js"></script> <script src="vendor/es6-shim/es6-shim.min.js"></script> <script src="vendor/systemjs/dist/system-polyfills.js"></script> <script src="https://npmcdn.com/angular2/es6/dev/src/testing/shims_for_IE.js"></script> <script src="vendor/core-js/client/shim.min.js"></script> <!-- default --> <script src="vendor/zone.js/dist/zone.min.js"></script> <script src="vendor/reflect-metadata/Reflect.js"></script> <script src="vendor/systemjs/dist/system.src.js"></script> <script> System.import('system-config.js').then(function() { System.import('main'); }).catch(console.error.bind(console)); </script> </body> </html> 

Как вы можете видеть, я пробовал все комбинации es5-shim, es6-shim, прокладок для IE, core-js shim и т. Д. Кажется, не имеет никакого значения.

TSconfig:

  "compileOnSave": false, "compilerOptions": { "declaration": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "mapRoot": "", "module": "commonjs", "moduleResolution": "node", "noEmitOnError": true, "noImplicitAny": false, "outDir": "../dist/", "rootDir": ".", "sourceMap": true, "target": "es5", "inlineSources": true }, system-config.ts /*********************************************************************************************** * User Configuration. **********************************************************************************************/ /** Map relative paths to URLs. */ const map: any = { }; /** User packages configuration. */ const packages: any = { }; //////////////////////////////////////////////////////////////////////////////////////////////// /*********************************************************************************************** * Everything underneath this line is managed by the CLI. **********************************************************************************************/ const barrels: string[] = [ // Angular specific barrels. '@angular/core', '@angular/common', '@angular/compiler', '@angular/http', '@angular/router', '@angular/platform-browser', '@angular/platform-browser-dynamic', // Thirdparty barrels. 'rxjs', // translate 'ng2-translate', // google-analytics 'angulartics2', // App specific barrels. 'app', 'app/shared', 'app/home', 'app/_widgets/app-header/', 'app/_widgets/menu-aside', 'app/page2', 'app/page3', 'app/_widgets/alert', 'app/_widgets/box', 'app/_widgets/messages-box', 'app/_widgets/notification-box', 'app/_widgets/tasks-box', 'app/_widgets/user-box', 'app/_widgets/language-box', 'app/profile', /** @cli-barrel */ ]; const cliSystemConfigPackages: any = {}; barrels.forEach((barrelName: string) => { cliSystemConfigPackages[barrelName] = { main: 'index', "defaultExtension": "js" }; }); /** Type declaration for ambient System. */ declare var System: any; // Apply the CLI SystemJS configuration. System.config({ map: { '@angular': 'vendor/@angular', 'rxjs': 'vendor/rxjs', 'main': 'main.js', 'ng2-translate': 'vendor/ng2-translate', 'angulartics2': 'vendor/angulartics2' }, packages: cliSystemConfigPackages }); // Apply the user's configuration. System.config({map, packages }); в  "compileOnSave": false, "compilerOptions": { "declaration": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "mapRoot": "", "module": "commonjs", "moduleResolution": "node", "noEmitOnError": true, "noImplicitAny": false, "outDir": "../dist/", "rootDir": ".", "sourceMap": true, "target": "es5", "inlineSources": true }, system-config.ts /*********************************************************************************************** * User Configuration. **********************************************************************************************/ /** Map relative paths to URLs. */ const map: any = { }; /** User packages configuration. */ const packages: any = { }; //////////////////////////////////////////////////////////////////////////////////////////////// /*********************************************************************************************** * Everything underneath this line is managed by the CLI. **********************************************************************************************/ const barrels: string[] = [ // Angular specific barrels. '@angular/core', '@angular/common', '@angular/compiler', '@angular/http', '@angular/router', '@angular/platform-browser', '@angular/platform-browser-dynamic', // Thirdparty barrels. 'rxjs', // translate 'ng2-translate', // google-analytics 'angulartics2', // App specific barrels. 'app', 'app/shared', 'app/home', 'app/_widgets/app-header/', 'app/_widgets/menu-aside', 'app/page2', 'app/page3', 'app/_widgets/alert', 'app/_widgets/box', 'app/_widgets/messages-box', 'app/_widgets/notification-box', 'app/_widgets/tasks-box', 'app/_widgets/user-box', 'app/_widgets/language-box', 'app/profile', /** @cli-barrel */ ]; const cliSystemConfigPackages: any = {}; barrels.forEach((barrelName: string) => { cliSystemConfigPackages[barrelName] = { main: 'index', "defaultExtension": "js" }; }); /** Type declaration for ambient System. */ declare var System: any; // Apply the CLI SystemJS configuration. System.config({ map: { '@angular': 'vendor/@angular', 'rxjs': 'vendor/rxjs', 'main': 'main.js', 'ng2-translate': 'vendor/ng2-translate', 'angulartics2': 'vendor/angulartics2' }, packages: cliSystemConfigPackages }); // Apply the user's configuration. System.config({map, packages }); 

Это как-то связано с LocationStrategy ( HashLocationStrategy и т. Д.), Стратегии размещения хранятся в @angular/common пакете.

Проверьте свой код начальной загрузки, очистите кеш IE, попробуйте переустановить пакеты.

Найденная проблема, она не была в любом из файлов, которые я показал здесь, но у одного компонента были: providers: [Location], и это нигде не использовалось или не было импортировано ни с чем.

+ Изменить

 <!-- polyfills for older browsers --> <script src="vendor/es5-shim/es5-shim.min.js"></script> <script src="vendor/es6-shim/es6-shim.min.js"></script> <script src="vendor/systemjs/dist/system-polyfills.js"></script> <script src="https://npmcdn.com/angular2/es6/dev/src/testing/shims_for_IE.js"></script> <script src="vendor/core-js/client/shim.min.js"></script> <!-- default --> <script src="vendor/zone.js/dist/zone.min.js"></script> <script src="vendor/reflect-metadata/Reflect.js"></script> <script src="vendor/systemjs/dist/system.src.js"></script> 

в

 <script src="node_modules/core-js/client/shim.min.js"></script> <script src="node_modules/zone.js/dist/zone.js"></script> <script src="node_modules/reflect-metadata/Reflect.js"></script> <script src="node_modules/systemjs/dist/system.src.js"></script> 
  • NodeJS - setTimeout (fn, 0) vs setImmediate (fn)
  • Угловое выражение, работающее внутри тега скрипта
  • Как получить доступ к объекту производительности каждого ресурса на веб-странице?
  • Графики Google X-axis выглядят не так хорошо
  • JQuery + MarkItUp + Polymer - заставить работать?
  • Как получить точный HTML-код в браузере
  • CasperJS цикл или итерации через несколько веб-страниц?
  • Добавление jQuery к возвышенному тексту 2
  • Задать загрузку файла, используя ExtJs
  • Можно ли использовать Digest-Authentication с XMLHTTPRequest?
  • Изменение размера внешнего содержимого веб-сайта для соответствия ширине iFrame
  • Давайте будем гением компьютера.