2016-07-11 9 views
9

Zainstalowałem program ng2-translate na mój błąd proj i konsoli wyświetlając 404 błędy pakietu i xhr. Dodałem ng2-translate do mojego pliku system.config.js, który jest dostarczany ze standardowym quickstart angular2, ale nadal pokazuje błąd 404 i xhr.ng2-translate (404 not found) Dodałem go do system.js

to albo daje mi błąd 404 lub adnotacji nieokreślonego błędu:/

github: gwint sprawie emisji wykorzystujące 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

znalazłeś jakieś rozwiązanie? – gsiradze

Odpowiedz

1

zainstaluj moduł npm:

npm install ng2-translate --save 

Aktualizacja config tak:

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

Zastosowanie NG2-translate tak w .TS Plik-

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

Zobacz, czy to pomaga.

+0

Tak właśnie zrobiłem :) już zainstalowałem paczkę do mojego proj, że system.config jest właściwie tym, co ma podręcznik instalacji angular2. – nCore

1

Prawdopodobnie wykonując:

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

odwołujesz index.js

jednak może trzeba wskazać jakiś inny plik .js, takich jak

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

na przykład można zrobić :

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

Zrobiłem to również i to, że dał mi błąd dotyczący adnotacji niezdefiniowanej, zobacz moją edycję w moim oryginalnym wpisie. A jeśli to zrobię, wygląda to tak: "http: // localhost: 3000/node_modules/ng2-translate.js/ng2-translate 404 (Not Found)" – nCore

+0

Otrzymuję npm ng2-translate i dokładny plik, który musisz odnieść, to 'ng2-translate.js' Nie zapomnij rozszerzenia' .js' –

+0

@asd_enel_hak Tak, jeśli sprawdziłeś moją edycję w moim oryginalnym wpisie, dodałem piękne rozszerzenie .js. Otrzymuję "Nie mogę odczytać właściwości" z nieokreślonego " – nCore

0

trzeba mieć folder i18n w aplikacji z en.json (jego ustawienie domyślne) lub cokolwiek nazwać plik z konstruktora, wygląda następująco:

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 wykorzystuje format skonfigurowany jako moduł CommonJS w tsconfig.json:

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

pomyślnie dodany NG2-translate poprzez wyraźne określenie tego formatu w sekcji Pakiety mojego SystemJS config.

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

Patrz listy supported module formats w dokumentacji SystemJS więcej szczegółów.

4

wychodził do tej samej kwestii dzisiaj

rozwiązanie to:

umieścić 'ng2-translate': 'node_modules/ng2-translate/bundles' w system.config.js na mapie i 'ng2-translate' : { defaultExtension: 'js' } w pakietach

enter image description here

3

musiałem mapować go tak , w konfiguracji systemjs, aby działało:

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

Jeśli lubisz mnie, spędziłeś godziny próbując naprawić problem z ng2-translate (404 not found). Oto plik systemjs.config.js, który działał dla mnie. Komplement 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); 
Powiązane problemy