Не может быть точки в маршруте или параметре

Мне действительно нужно иметь точку либо в параметре, либо в маршруте, но lite-server, похоже, возражает против этого.

Я нашел несколько мест, в которых упоминается проблема и говорится, что ее можно исправить с помощью правила перезаписи, но нет полных примеров, которые, как я вижу, работают.

Например, этот ответ: точка в параметре строки запроса - AngularJS

Путь, в котором может быть точка, — /report;url=example.com.

Основываясь на приведенном выше ответе, я отредактировал bs-config.json следующим образом:

{
  "server": {
    "baseDir": "src",
    "routes": {
      "/node_modules": "node_modules"
    },
    "rewrites": [
      {
        "from": "/^\/report/",
        "to": "index.html"
      }
    ]
  }
}

Я также пытался переписать уровень выше, но это ни на что не повлияло.

Если я использую navigate('report/', { url: 'value.with.dot' }), то я могу использовать точку в маршруте или параметре, и он работает нормально, но я не могу получить к нему доступ напрямую, введя URL-адрес браузера.

Я нашел много упоминаний в Интернете о том, что это связано с конфигурацией lite-сервера, но нет прямого примера того, что именно нужно добавить в конфигурацию lite-сервера, чтобы это исправить.

Я использую Angular2.4, но я думаю, что это проблема, характерная для облегченного сервера.

По сути, мне нужно правило перезаписи, чтобы переписать запрос в index.html, но способ, которым я его ввел, не сработал.


person Guerrilla    schedule 11.03.2017    source источник
comment
Как вы решили это? Я переживаю ту же проблему. Была ли это конфигурация, которую вы добавили в корень вашего проекта, чтобы перезаписать настройки облегченного сервера по умолчанию? Я в основном хочу принять точку, чтобы она упала на мой правильный маршрут.   -  person markreyes    schedule 13.05.2017
comment
Я переключился на последнюю версию Angular CLI, в которой по умолчанию есть правило перезаписи.   -  person Guerrilla    schedule 14.05.2017


Ответы (2)


Может быть, просто скрыть точку, например, "example\.com"?

person Vitaliy Andrusishyn    schedule 11.03.2017

Вы должны инкапсулировать внутри кавычек

navigate('report/', { url: "'value.with.dot'" ))
person Aravind    schedule 11.03.2017
comment
Он отлично работает с навигацией, у меня нет проблем с навигацией, поэтому мне не нужно ничего менять в ней. У меня проблема с прямым доступом к URL. Сервер Lite обрабатывает все пути с точкой как файл, и в других ответах говорится, что необходимо создать правило перезаписи. - person Guerrilla; 11.03.2017
comment
вам также необходимо изменить определения маршрута - person Aravind; 11.03.2017
comment
это определение маршрута { path: 'report', component: MyReportComponent } Вы смотрели на другой ответ, который я связал? Я не думаю, что вы понимаете мою проблему. - person Guerrilla; 11.03.2017
comment
Я хочу иметь возможность использовать точку (это ---› . ‹---- это) в пути, который я набираю в браузере. - person Guerrilla; 11.03.2017