2016-07-05 47 views
6

My Web App funziona correttamente in Chrome, Firefox e Edge, ma ovviamente non in IE 11. Probabilmente no versioni precedenti di IE pure. È un'app minima che utilizza Angular Cli per generare l'app.Angular 2 RC 4 "(SystemJS) Impossibile risolvere tutti i parametri per [posizione oggetto]:" in IE 11

errore completo:

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> 

Come potete vedere ho provato tutte le combinazioni di ES5-shim, es6- shim, shim per IE, core-js shim ecc. Non sembra fare alcuna differenza ..

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 }); 
+0

Puoi pubblicare anche il file system-config.js? –

+0

@pdfarhad ha aggiunto il file di configurazione – ganjan

+0

puoi controllare se c'è qualche 'main.js' in' vendor/ng2-translate' o 'vendor/angulartics2', penso che tu abbia qualche problema con questi file. Sono terze parti biblioteche, giusto? –

risposta

2

trovato il problema, non era in nessuno dei file ho mostrato qui, ma un componente avuto: fornitori: [percorso], e questo era non utilizzato da nessuna parte o importato da qualsiasi cosa ..

3

Ha qualcosa a che fare con LocationStrategy (HashLocationStrategy ecc), le strategie di localizzazione sono memorizzati in @angular/common pacchetto.

Controllare il codice di bootstrap, cancellare la cache di IE, provare a reinstallare i pacchetti.

+0

Qualcuno può fornire maggiori informazioni su come risolvere il problema o qual è stata la causa esatta per loro? Non riesco a risolvere questo problema. –

+1

in questo caso particolare "Posizione" è stato aggiunto ai fornitori di componenti per errore. – kemsky

+0

Grazie, ho scoperto di avere un fornitore di lozione rouge. Problema risolto –

1

Change

<!-- 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> 

a

<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> 
Problemi correlati