2017-12-10 99 views
9

Mam szkielet aplikacji zbudować z mgechev/angular-seed i 2muchcoffeecom/ngx-restangular. Chciałbym je zintegrować, ale nie mogę znaleźć rozwiązania, jak to zrobić.Jak dodać ngx-restangular do nasion kanciastych?

Zanim pomyślnie dodam kilka pakietów do project.config.ts, po prostu postępuję zgodnie z dokumentacją angular-seed.

Oto fragment konfiguracji, która działa dobrze:

... 
    # tools/config/project.config.ts 

    let additionalPackages: ExtendPackages[]; 
    additionalPackages = [ { 
     name: 'angular2-jwt', 
     path: 'node_modules/angular2-jwt', 
     packageMeta: { 
      defaultExtension: 'js', 
     } 
    }, { 
     name: 'ngx-progressbar', 
     path: 'node_modules/ngx-progressbar/bundles/ngx-progressbar.umd.js', 
    }, { 
     name: 'ng2-charts', 
     path: 'node_modules/ng2-charts/bundles/ng2-charts.umd.min.js' 
    }, { 
     name:'ngx-bootstrap', 
     path:'node_modules/ngx-bootstrap/bundles/ngx-bootstrap.umd.min.js' 
    }, { 
     name:'ngx-bootstrap/*', 
     path:'node_modules/ngx-bootstrap/bundles/ngx-bootstrap.umd.min.js' 
    }, { 
     name:'ng2-select-compat', 
     path:'node_modules/ng2-select-compat/bundles/ng2-select-compat.umd.min.js' 
    }, { 
     name:'ngx-avatar', 
     path:'node_modules/ngx-avatar/ngx-avatar.umd.js' 
    }]; 
... 

Ale gdy próbuję dodać ngx-restangular:

... 
# tools/config/project.config.ts 

const additionalPackages: ExtendPackages[] = [ 
    { 
     name: 'ngx-restangular', 
     path: 'node_modules/ngx-restangular/dist/esm/src/', 
     packageMeta: { 
      defaultExtension: 'js', 
      main: './index.js', 
     } 
    }]; 
... 

Aplikacja generuje błąd:

(index):60 SyntaxError: Unexpected token < at eval (<anonymous>)

W karcie sieci przeglądarki widzę, że ngx-restangular pliki ładują:

  • index.js
  • NGX-restangular.module.js
  • NGX-restangular.js
  • NGX-restangular-http.js
  • NGX-restangular.config JavaScript powinny
  • NGX-restangular-config.factory.js
  • NGX-restangular-helper.js

Link do repozytorium Github. Aby uruchomić go w lokalnym env, proszę po prostu sklonować/widelec i npm install && npm start

Link plik konfiguracyjny project.config.ts

+0

Czy możesz opublikować zawartość swojego pliku index.js? –

+1

@AlfMoh 'node_modules/ngx-restangular/dist/esm/src // index.js' https://gist.github.com/tulik/a916e0774d343a0c5592b09bf7c613b4 –

+0

Jest ngx-restangular w tym samym pakiecie .umd.js jako odpoczynek? – ShaneG

Odpowiedz

1

od patrzenia na to:

Error: SyntaxError: Unexpected token <

Wydaje jej próby analizowania odpowiedź html 404. Jest całkiem możliwe, że próbuje uzyskać dostęp do pliku, którego nie może zlokalizować. Widzę, że używasz .umd.js. Czy jest to poprawnie skonfigurowane w twoim pliku konfiguracyjnym? Coś w tym stylu:

additionalPackages.forEach(function (pkgName) { 
packages['@angular/' + pkgName] = { main: 'bundle/'+ pkgName + '.umd.js', defaultExtension: 'js' }; 
} 

Link, który tu podałem, może również o pomoc. Mam nadzieję że to pomoże!

+0

Niestety nie ma pliku 'umd.min.js' dla ngx-restangular. Rozwiązanie ze ścieżką 'node_modules/ngx-restangular/dist/esm/src /' ładuje pliki 'ngx-restangular'. W skompilowanym pliku JS https://gist.github.com/tulik/9d1e4ea5201e48abfbd8d1c5e861f193 nie można znaleźć 'var rxjs_1 = require (" rxjs ");' który zdaje się być zdefiniowany w 'ziarnie-kanciarzu' tutaj: https://github.com/mgechev/angular-seed/blob/master/tools/config/seed.config.ts#L609 –