2016-07-11 33 views
9

Ho installato ng2-translate al mio errore proj e console continua a mostrare 404 del bundle e errore xhr. Ho aggiunto ng2-translate al mio system.config.js che viene fornito con il quickstart standard angular2 ma che mostra ancora l'errore 404 e xhr.ng2-translate (404 non trovato) L'ho aggiunto in system.js

E 'o mi dà errore 404 o l'annotazione di errore non definito:/

github: discussione in merito alla questione utilizzando systemconfig.js

https://github.com/ocombe/ng2-translate/issues/167

var map = { 
    'app':      'app', // 'dist', 
    '@angular':     'node_modules/@angular', 
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
    'ng2-translate':    'node_modules/ng2-translate', 
    'rxjs':      'node_modules/rxjs' 
    }; 

Edit:

var packages = { 
    'ng2-translate':    { main: 'ng2-translate.js', defaultExtension: 'js' }, 
    }; 
+0

hai trovato qualche soluzione? – gsiradze

risposta

1

installare il modulo npm:

npm install ng2-translate --save 

aggiornamento propria configurazione in questo modo:

System.config({ 
    packages: { 
     "ng2-translate": {main: 'ng2-translate.js', "defaultExtension": "js"} 
    }, 
    map: { 
     'ng2-translate': 'node_modules/ng2-translate' 
    } 
}); 

Usa NG2-translate come questo in Ts File-

import {TranslateService, TranslatePipe} from 'ng2-translate'; 

Vedere se questo aiuta.

+0

è quello che ho fatto :) ho già installato il pacchetto sul mio proj che system.config è praticamente quello che ha la guida all'installazione di angular2. – nCore

1

Probabilmente facendo:

'ng2-translate':    'node_modules/ng2-translate', 

si fa riferimento index.js

tuttavia potrebbe essere necessario indicare una certa lima altro js come

'ng2-translate':    'node_modules/ng2-translate/somefile.js', 

per esempio si può fare :

System.config({ 
    //... some other stuff 
     map: { 
     'ng2-translate': 'node_modules/ng2-translate/ng2-translate.js', 
    }, 
    packages: {   
     //... some other stuff, do not put your ng2-translate here 
    } 
}); 
+0

Anche questo, e mi sta dando un errore riguardo l'annotazione di undefined, vedi la mia modifica nel mio post originale. E se lo faccio sembra "http: // localhost: 3000/node_modules/ng2-translate.js/ng2-translate 404 (non trovato)" – nCore

+0

Ottengo npm ng2-translate e il file esatto che devi fare riferimento è 'ng2-translate.js' Non dimenticare l'estensione' .js' –

+0

@asd_enel_hak Sì, se controlli la mia modifica nel mio post originale ho incluso un'estensione .js carina. Ottengo "Non posso leggere annotazioni di proprietà" non definite " – nCore

0

è necessario disporre di una cartella i18n nella tua app con en.json (la sua impostazione predefinita) o qualsiasi altra cosa il file si chiama dal costruttore, si presenta come:

constructor(translate: TranslateService) { 
    // this language will be used as a fallback when a translation isn't found in the current language 
    translate.setDefaultLang('en'); 

    // the lang to use, if the lang isn't available, it will use the current loader to get them 
    translate.use('en'); 
} 
1

NG2-translate utilizza il formato del modulo CommonJS come configurato nella sua tsconfig.json:

compilerOptions": { 
    ... 
    "module": "commonjs", 
    "target": "es5", 
    ... 
} 

ho aggiunto con successo NG2-translate specificando esplicitamente questo formato nella sezione pacchetti del mio SystemJS config.

System.config({ 
    map: { 
     'ng2-translate': 'node_modules/ng2-translate' 
     // ... more mappings 
    }, 
    packages: {   
     'ng2-bootstrap': { 
      defaultExtension: 'js', 
      format: 'cjs' 
     } 
     // ... more package definitions 
    } 
}); 

Fare riferimento alla lista delle supported module formats nella documentazione SystemJS per maggiori dettagli.

4

Ho affrontato lo stesso problema di oggi

soluzione è questa:

messo 'ng2-translate': 'node_modules/ng2-translate/bundles' in system.config.js nella mappa e 'ng2-translate' : { defaultExtension: 'js' } in pacchetti

enter image description here

3

ho dovuto mappare in questo modo , nella configurazione systemjs per farlo funzionare:

'ng2-translate': 'npm:ng2-translate/bundles/ng2-translate.umd.js' 
1

Se come me, hai passato ore a provare a risolvere il problema di ng2-translate (404 non trovato). Ecco un systemjs.config.js che ha funzionato per me. Complimento di Sam Verschueren @github

(function(global) { 
    // map tells the System loader where to look for things 
    var map = { 
     'app':      'app', // 'dist', 
     '@angular':     'node_modules/@angular', 
     'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
     'rxjs':      'node_modules/rxjs' 
    }; 

    var paths = { 
     'underscore':     'node_modules/underscore/underscore.js', 
     'ng2-translate':    'node_modules/ng2-translate/bundles/ng2-translate.umd.js' 
    }; 
    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
     'app':      { main: 'main.js', defaultExtension: 'js' }, 
     'rxjs':      { defaultExtension: 'js' }, 
     'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }, 
     'ng2-translate':    { defaultExtension: 'js' } 
    }; 
    var ngPackageNames = [ 
     'common', 
     'compiler', 
     'core', 
     'forms', 
     'http', 
     'platform-browser', 
     'platform-browser-dynamic', 
     'router', 
     'router-deprecated', 
     'upgrade', 
    ]; 
    // Individual files (~300 requests): 
    function packIndex(pkgName) { 
     packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    } 
    // Bundled (~40 requests): 
    function packUmd(pkgName) { 
     packages['@angular/'+pkgName] = { main: '/bundles/' + pkgName + '.umd.js', defaultExtension: 'js' }; 
    } 
    // Most environments should use UMD; some (Karma) need the individual index files 
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; 
    // Add package entries for angular packages 
    ngPackageNames.forEach(setPackageConfig); 
    var config = { 
     map: map, 
     packages: packages, 
     paths: paths 
    }; 
    System.config(config); 
})(this); 
Problemi correlati