
Anton
12.11.2016
17:58:44
В экспрессе я пишу в конце после всех app.get и app.post:
app.get('/*', function (req, res) {
res.sendFile(appDir + '/app/index.html');
});

Fayozjon [CybernatiC]
12.11.2016
17:59:15
У вас бэк тоже нода?

Anton
12.11.2016
17:59:52
У меня да. Но у меня все работает. У жареда хз

Google

Fayozjon [CybernatiC]
12.11.2016
18:00:49
Я про него и говорю
Кстати вы юзаете ноду для разработки апи?
Попробуйте loopback намноого ускорит процесс

Jared
12.11.2016
18:04:28

Anton
12.11.2016
18:05:31
Сделай чтоб по запросу любой страницы у тебя главная(та, которая единственная) возвращалась
Без этого он у тебя ищет роут с этой страницей и возвращает пустую ибо не находит

Jared
12.11.2016
18:20:19
А у меня и не должна быть одна точка входа. Входить нужно на любую страницу, включая конкретный товар
Сейчас как раз через главную только и входит, что не устраивает заказчика (разумеется). Конечно, можно оставить и с хэшем, но как-то уродски выглядит

Anton
12.11.2016
18:42:51
А зачем одна точка? Тебе возвращается твоя страница и адрес, а фронтовый роутер уже резолвит что во вьюхе отобразить
У тебя вообще всего одна страница по идее, а ее содержимое зависит от роутера
Вот чтоб без хэша работало надо чтоб по запросу sitename/page/section/56557/anotherpage/... Всегда возвращался index.html, а ангуляр сам решит что ему там отобразить в зависимости от настроек роутера.
Твоя проблема, что по запросу sitename/page/section/56557/anotherpage/ Сервер ищет точно такой роут и естественно не находит
(Немного пояснений почему работает с хэшом: потому что на сервак уходит запрос со строкой, которая до хэша, а то что после него остается в адресной строке и парсится ангуляром)

Jared
12.11.2016
18:50:53
Все, я тебя понял. Я в курсе, как работает роутинг, не понял просто, что ты имел в виду под единственной страницей

Google

Jared
12.11.2016
18:51:37
Знать бы еще как это сделать))
Бэком занимаются другие люди, на мне только фронт. Максимум что могу - поковыряться в nginx на локалхосте

Виктор
12.11.2016
20:34:58
Знать бы еще как это сделать))
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteRule ^ index.php [QSA,L]
</IfModule>
Примерно такой .htaccess надо прописать, где у меня index.php - скрипт который обрабатывает все запросы для текущего base URL. Файл .htaccess лежит рядом с index.php

Jared
12.11.2016
20:35:20
Это Apache, у меня nginx

Виктор
12.11.2016
20:35:26
ну с nginx разобраться лучше - быстрее работать будет
одно другому не мешает

Jared
12.11.2016
20:35:36
))

Виктор
12.11.2016
20:35:48
у меня и апач есть и nginx обычно

Jared
12.11.2016
20:37:50
Да я уже весь день разбираюсь, перепробовал реально все с SO, в т.ч. и приведенные там конфиги. Сейчас новый субдомен создал, на нем экспериментирую

Виктор
12.11.2016
20:40:14
а что там разбираться то - погуглите в инете, делается не сложнее чем через .htaccess
я имею в виду на nginx

Jared
12.11.2016
20:46:09
У меня хватает сайтов на nginx, все всегда работало, но именно в такой комбинации (html5Mode + ngRoute) почему-то не хочет работать, причем ни на живом сервере, ни на локалхосте с дефолтными настройками
В общем, разбираюсь

Виктор
12.11.2016
20:46:40
https://winginx.com/ru/docs/rewrites
location / {
try_files $uri $uri/index.html $uri/index.php @router;
}
типа того
Сам не пробовал через nginx - но тема интересная - хочу сам туда копнуть:)

Kool
13.11.2016
04:19:36

Nikolay
14.11.2016
05:19:38

Дмитрий d
14.11.2016
09:35:41
чат, сап) есть такой код:
<input type="text" ng-model="itemSearch" />
<li ng-repeat="item in models.lists.sourceItems | filter:itemSearch" > ... </li>как заставить делать поиск не только по значениям (item.value), но и по остальным параметрам value? нужно прописывать функцию, или можно как-то проще?)

Google

MVP
14.11.2016
09:41:00

Дмитрий d
14.11.2016
09:42:05
жаль. думал, можно проще. спасибо

Valery Dolgov
14.11.2016
09:46:16
<input type="text"
data-ng-model="searchKeywords"
data-ng-keyup="search()">
$scope.search = function() {
$scope.result = $filter('filter')($scope.searchCollection, $scope.searchKeywords);
};
А коллекцию result уже биндишь в свой список

Sergey
14.11.2016
10:01:05
парни, есть один контроллер. в нём используется $scope.$watch Код выполнялся дважды. Добавил проверку oldValue != newValue. После этого наблюдаются сбои в поставке данных из контроллера во вью. $scope.$apply не помогает. Есть у кого нить мудрый совет куда копать?

MVP
14.11.2016
10:08:15

Sergey
14.11.2016
10:10:29
нет

MVP
14.11.2016
10:13:09
ну вообще он и будет 2эжы выполниться потому что вначала переменная инициализуется с value = undefined
пожтому внутри watch надо не **if(oldValue != newValue)** а **if(newValue)** ставить

Sergey
14.11.2016
10:14:55
да собственно вопрос не в этом, хотя и спасибо, вопрос почему digest loop ломается

MVP
14.11.2016
10:16:38

Sergey
14.11.2016
10:17:25
внутри вотча xhr

Sergey
14.11.2016
10:17:59
у него в саксесе обработка и раскладывание по переменным вида $scope.value
всё
когда вотч работал 2 раза - данные отображались на странице
теперь нет
добавил в родительский скоп переменную со значением 0

MVP
14.11.2016
10:21:41
ну, тоесть у тебя не меняется value за которым ты следишь
как было 276..так и остается
с чего тогда запускать xhr

Google

Sergey
14.11.2016
10:22:03
точно
когда с 0 на 2767380
тогда xhr и улетает
там все нормально
я $scope логаю. Все переменные на месте и со значениями как надо

Admin
ERROR: S client not available

Sergey
14.11.2016
10:23:23
а вот на странице нет их

MVP
14.11.2016
10:24:56
а в шаблоне ng-if есть вокру этого отображегния?

Sergey
14.11.2016
10:26:07
no
к родительскому подключается через ng-include
а контроллер к шаблону через ng-controller

MVP
14.11.2016
10:31:19
> @herroino
Все переменные на месте и со значениями как надо
в смысле уже все из xhr приходит как надо?

Sergey
14.11.2016
10:31:51
ну да. Всё хорошо отрабатывает
кроме того что я данных на странице не вижу

MVP
14.11.2016
10:36:43
ставлю на то что опечатка где-то

Sergey
14.11.2016
10:41:40
изменил условие с newValue != oldValue на newValue == oldValue и всё работает
wtf
почему watch вообще 2 раза срабатывает?
что его второй то раз триггерит

Google

Fayozjon [CybernatiC]
14.11.2016
10:43:29
у меня click event ы тоже 2 раза срабатывают

MVP
14.11.2016
10:45:21
> @herroino
newValue == oldValue и всё работает
тогда я вообще не понял что у тебя на чем стоит, потому что такое условие - newValue == oldValue - как бе обратный вариант вотчера... типо следи за изменениями, то срабатывай только если ничего не поменялось

Sergey
14.11.2016
10:45:47
вотч тригерится дважды почему то
первый раз с 0 на 2767380
2ой c 2767380 на 2767380
почему такое происходит хз

MVP
14.11.2016
10:46:46
> @herroino
первый раз с 0 на 2767380
это при инициализации

Sergey
14.11.2016
10:48:16
таааак
да
согласен
при инициализации
то есть просто добавляю проверку на 1ый запуск(инициализацию) и лишний xhr пропадёт
спс

MVP
14.11.2016
10:51:34
дерзкий черт
тут твоем говнокоде пытаются копаться и телепатией понять чо проихсодит