Express + Jade: Обеспечение правильности путей URL через контроллеры, потерянные ссылки? - PullRequest
0 голосов
/ 30 мая 2011

Я пришел с помощью Play! Framework , в котором размещение ссылок в шаблоне осуществляется с использованием объекта контроллера, а затем выбирается метод. Например. @ {Controller.method (passValue)}, который был действительно замечательным.

С моим первым проектом экспресс / нод я беспокоюсь о том, что у вас будут потерянные ссылки, например. / пользователь / новый становится / зарегистрироваться. Как мне избежать этой проблемы?

1 Ответ

0 голосов
/ 08 июня 2011

Ну, javascript - это динамический интерпретируемый язык. У вас никогда не будет компилятора, который будет уведомлять вас о неработающих ссылках. Даже если вы переключитесь с использования URL-путей в своих шаблонах на получение атрибутов от объекта контроллера (что было бы хорошо), вам придется беспокоиться о потерянных ссылках в обоих случаях. Напишите тесты, чтобы убедиться, что этот материал не сломается.

К вашему сведению, вы можете сделать то же самое с Jade / Express. Поместите объект контроллера в переменную "locals" при вызове jade.render, а затем в своем шаблоне вы можете сделать

a(href=controller.registerURI(user.id))

или что-то в этом роде, если вы чувствуете, что это чище. Но все же, если вы переименуете метод registerURI в loginURI, вам придется беспокоиться о переходе и обновлении этого кода для соответствия. Такова природа интерпретируемого языка.

...