2016-12-08 2 views
0

so für out-App gibt es eine Anforderung, dass alle URLs .app Erweiterung ...Webpack devserver - Angular2 - so dass Erweiterungen

so http://domain/news.app http://domain/article.app?blah=blah

während dieser Arbeiten auf die Herstellung feiner (apache) Server (ist die Erweiterungen der Lösung) es funktioniert nicht auf meinem webpack dev-Server ... oder zumindest kann ich keine Einstellungen finden, um es

funktioniert

in meinem Winkel App Routen zum Beispiel habe ich diese

const appRoutes: Routes = [ 
    { path: 'home.app', pathMatch: 'full', component: AppPage}, 
    { path: 'news.app', pathMatch: 'full', component: AppNews} 
]; 

webpack.dev conf

output: { 
    path: helpers.root('dist'), 
    publicPath: 'http://localhost:8080/', 
    filename: '[name].js', 
    chunkFilename: '[id].chunk.js' 
}, 

so, wenn ich http://localhost:8080/news.app tun .... ich

kann nicht /news.app

Wie die Entwickler-Server einrichten, dass würde erlauben /news.app?

Antwort

1
devServer: { 
    port: 8080, 
    historyApiFallback: { 
     index: 'index.html' 
    } 
    } 

Dies wird alle Ihren Anruf auf index.html umleiten, und dann Angular2 Router wird es von dort.

Das Geheimnis ist natürlich hinter dem historyApiFallback, die Webpack sagen wird, auf jeden Fall auf index.html zurückzugreifen.

+0

scheint nicht .... zu arbeiten, wird ein bisschen mehr tun testen ... ist es möglich, dass es nicht funktioniert, weil die baseurl nicht auf "/" gesetzt ist? Will etwas untersuchen und melden –

+0

ist es mögliche Ursache von 'dist' im Ausgangspfad gesetzt? –

+0

Ich fand die Einstellung, die es funktioniert historyApiFallback: {disableDotRule: true}, - DANKE –

0

I found the setting in historyApiFallback .... das löst mein Problem

historyApiFallback: { 
    disableDotRule: true 
}, 

Dank xe4me, die mich in die richtige Richtung wies