2016-05-06 2 views
3

Я работаю в своем первом проекте Angular2, все отлично работает с ним, пока я не попытался переместиться из браузера, транслирующего TS, в транспиляцию как часть цикла сборки. Итак, теперь я получаю все, чтобы перевести на es5, но мне не хватает чего-то с systemjs, так как я получаю 404 ошибки на все, что я сопоставил в моем System.config, в частности angular2-jwt, вот мой config.jsAngular2 - SystemJS 404 при загрузке сопоставленных модулей

System.config({ 
packages: { 
    app: { 
     defaultExtension: "js", 
     main: "main" 
    }, 
    map: { 
     "angular2-jwt": "node_modules/angular2-jwt/angular2-jwt.js" 
    }, 
    "angular2-jwt": {"defaultExtension": "js"} 
} 
}); 

Вот моя точка входа, main.ts

/// <reference path="../node_modules/angular2/typings/browser.d.ts" /> 

import {bootstrap} from 'angular2/platform/browser'; 
import {provide} from 'angular2/core'; 
import {AuthHttp, AuthConfig} from 'angular2-jwt'; 
import {ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy,  APP_BASE_HREF} from 'angular2/router'; 
import {HTTP_PROVIDERS, Http} from 'angular2/http'; 
import {ToastyService, ToastyConfig, Toasty} from 'ng2-toasty/ng2-toasty'; 

import {ApplicationComponent} from './components/application/application.component'; 

import {MenuService} from './services/menu/menu-service'; 
import {MessageService} from './services/messages/message-service'; 

bootstrap(ApplicationComponent, [ 
ROUTER_PROVIDERS, 
HTTP_PROVIDERS, 
ToastyService, 
ToastyConfig, 
MessageService, 
MenuService, 
provide(AuthHttp, { 
useFactory: (http) => { 
    return new AuthHttp(new AuthConfig(), http); 
}, 
deps: [Http] 
}), 
provide(LocationStrategy, {useClass: HashLocationStrategy}) 
]); 

При попытке загрузить приложение, теперь я получаю ...

angular2-polyfills.js:126 GET http://localhost:8080/angular2-jwt 404 (Not Found) 

Так браузер пытается загрузить файл мой оператор импорта Путь

import {AuthHttp, AuthConfig} from 'angular2-jwt'; 

вместо отображенного пути:

map: { 
     "angular2-jwt": "node_modules/angular2-jwt/angular2-jwt.js" 
    }, 

в моем config.js.

Что мне здесь не хватает? Как заставить браузер вытащить angular2-jwt из полного пути в node_modules? Благодаря!

ответ

0

map должны быть братьями и сестрами packages

System.config({ 
    packages: { 
     app: { 
      defaultExtension: "js", 
      main: "main" 
     }, 
     "angular2-jwt": {"defaultExtension": "js"} 
    }, 
    map: { 
     "angular2-jwt": "node_modules/angular2-jwt/angular2-jwt.js" 
    } 
}); 

В противном случае, все остальное выглядит хорошо для меня.

+0

Ничего себе, спасибо! Я просто посмотрел на 20 других файлов конфигурации и не заметил этого! – csyperski

+0

Добро пожаловать @ csyperski, это просто, что я сделал ту же самую ошибку пары раз до: – Abdulrahman

+0

это в index.html? как это возможно, что он свяжет код node_modules на веб-сервере? –

Смежные вопросы