crossroads.js を初めて使ってて、addRoute したい URL が不特定数のクエリパラメータを含む場合。
crossroads.addRoute('/path/to/lovelive{?query}', query => {
// ...
});
最初こうやって書いてて、これだとひとつ以上のパラメータが含まれた時にはちゃんと動くんですが、パラメータがない場合に正しくルーティングされないことにしばらく経ってから気付きました。
正しくはこう。
crossroads.addRoute('/path/to/lovelive:?query:', query => {
// ...
});
公式のサンプルにこの場合がなかった(と思う)ので全然気づかなかったんですが、「crossroadsjs optional querystring」でググったら2秒で出てきた。
-> https://github.com/millermedeiros/crossroads.js/issues/94
OK, Google.