segmentos dinâmicos do roteador de reação falham quando acessados

Eu tenho uma configuração de rota que se parece com isso (mostrando apenas as partes que eu acho que podem ser relevantes):

var React = require('react');

var Router = require('react-router');
var { Route, DefaultRoute, NotFoundRoute } = Router;

var routes = (
    <Route handler={AppHandler}>
        <DefaultRoute handler={HomeHandler}/>
        <Route name='home' path='/home' handler={HomeHandler}/>
        <Route name='settings' path='/settings/?:tab?' handler={SettingsHandler}/>
        <NotFoundRoute handler={NotFoundHandler}/>
    </Route>
);

Router.run(routes, Router.HistoryLocation, function (Handler) {
    React.render(<Handler/>, document.getElementById('application'));
});

Agora, no meu arquivo de reação das configurações, tenho o seguinte:

var Settings = React.createClass({
    mixins: [Router.State],
  render: function() { ... }
});

Se eu acessar ohost.local/settings e logthis.getParams() tudo funciona bem e o arquivo é processado mostrando-meObject {tab: undefined} no console. Mas assim que eu tentohost.local/settings/user - onde eu esperava que o console retornasse algo comoObject {tab: 'user'} -, a coisa toda trava em algum lugar e começa a jogarUncaught SyntaxError: Unexpected token < no console.

A reação ainda é jovem e, portanto, os erros são bastante vagos em muitas situações.

Eu segui as especificações fornecidas noGuia de correspondência de caminho e parece bastante padrão, então só posso assumir que é um problema com o próprio roteador de reação ou estou perdendo alguma coisa?

Atualizar

tl; dr: Não é um problema com o react-router.

Versão longa:

Aparentemente, o problema não está no ReactJS nem no próprio React-Router. Envolve principalmente um bug nogulp-webserver (que estou usando para desenvolver usando proxies para conectar projetos separados em execução em paralelo) e aciona um erro quando os URLs são digitados diretamente no navegador em vez de serem acessados por um link.

Fiz um teste e funciona bem ao navegar, mas trava quando acessado diretamente, conforme descrito emesta questão do github, que basicamente inviabiliza meus testes funcionais de aprofundamento, mas deve funcionar quando estiver em produção.

Atualização 2

tl; dr: Também não é um problema com o gulp-webserver.

No meu caso, estava relacionado arelative eabsolute caminhos enenhum problema com o gulp-webserver como mencionado anteriormente. Para ser mais específico, eu tive que garantir que suas referências de script e CSS fossem absolutas, para não tentar encontrá-las no caminho que você está digitando na URL.

por exemplo.:

Você tem dois URLs:/settings e/settings/account. Nesse caso, se você tiver a inclusão do seu script no arquivo de fallback, algo como<script src="scripts/main.js"></script>, o servidor retornará um 404, pois não há arquivo/settings/scripts/main.js.

Burro da minha parte, mas caso alguém caia nessa, espero que isso ajude.

questionAnswers(2)

yourAnswerToTheQuestion