2016-07-27 18 views
1

Router-Konfiguration:unerwartetes Token <mit React Router & Nginx

const routes = 
[ 
    { 
     path: '/', 
     component: Layout, 
     onEnter: sessionFilter, 
     indexRoute: 
     { 
      component: ActivityIndex, 
      onEnter: sessionFilter 
     }, 
     childRoutes: 
     [ 
      { 
       path: 'login', 
       component: LoginPage 
      },{ 
       path: 'activity-new', 
       component: ActivityNew, 
       onEnter: sessionFilter 
      },{ 
       path: 'activity-edit/:id', 
       component: ActivityEdit, 
       onEnter: sessionFilter 
      } 
     ] 
    } 
]; 

ReactDOM.render(<Router routes={routes} history={browserHistory}/>, Node); 

Nginx Konfiguration:

server { 
    listen 5002; 
    location/{ 
     root www/bc; 
     index index.html; 
     try_files $uri $uri/ /index.html; 
    } 
} 

Alle Dateien transpiled mit babel (webpack). Es funktioniert gut, wenn ich auf http://server:5002/something zugreifen, aber wirft Unexpected token <, wenn ich auf http://server:5002/something/1 oder http://server:5002/something/ zugreifen.

Als ich in den Entwicklertools auf die Registerkarte Quellen schaute, bemerkte ich, dass die js-Datei mit der index.html als Inhalt zurückgegeben wurde, die durch die Request-URL auf http://server:5002/something/app.js statt http://server:5002/app.js verursacht wird. Muss ich etwas zur Konfiguration hinzufügen, um dieses Problem zu lösen?

Antwort

1

Ich denke, das Problem in src Pfad Ihrer JS-Datei im Skript-Tag.

Verwenden Sie anstelle von <script src="app.js"></script>: <script src="/app.js"></script>