Андрей Антропов: Вот минимальный пример, который я написал чтобы показать общую картину. Но этот код я не проверял, по этому если где-то закралась маленькая ошибка, то просто имейте ввиду, что она не является причиной неработоспособности.
export default class Store {
constructor(views){
this.view = views['mainPage'];
}
}
import MainView from './MainView';
import React from 'react';
import ReactDOM from 'react-dom';
import MainPage from './MainPage';
export default class Main {
constructor(){
this.store = new RouteStore({mainPage: MainPage});
ReactDOM.render(
<MainView store={this.store} />,
document.querySelector('.main-container')
);
}
}
nepster09: я хотел вам указать что причина не в grunt, раз ошибка при установке пакетов npm.
Понимаете? Вы ставите npm пакеты, а говорите что grunt не работает. Но видно у Вас сложился трудный день, раз Вас посещают такие мрачные ассоциации... Послал бы Вас, но Вы же нажалуетесь модераторам.
Вы не найдете такой. Есть всякие, но у всех свои недостатки и лучший из них не выбрать.
Если Вы студент, то можете бесплатно получить webstorm. Ну а так я бы мог посоветовать выбирать между ... эээ.... пока только atom.io. Есть ещё visualstudio code, но она пока вообще очень сырая. По этому только atom, лучше нет. Это лучший редактор, который я только видел, намного лучше чем ДАЖЕ sublimetext3.
Александр Марченко: да, спасибо. Буду честен, смысл этих слов понял только после задания вопроса, но об этом не сказал, чтобы в другой раз Вы не подумали что бессмысленно давать ответ.
Сергей Протько: спасибо! Вроде разобрался но все же осталось чувство что это криво. А дело вот в чем - я не привязываюсь к фраймворку и по этому первым делом отправился искать изоморфный роутер. Лучшим на мой взгляд оказался router director. Но как не странно он работает только если ему вручную устанавливать setRoute, а для этого нужно все ссылки собирать и подписывать на click, чтобы остановить распространение события и вызвать этот самый setRoute.
Это Вы описали изоморфность, которую я в принципе понимаю. Я не понимаю самого элементарного - роботу history. Видите, я прописал роуты и сделал две ссылки, но почему оно не работает? Я знаю что причина всего что-то очень простое, но не могу понять что.
Сергей Протько: то есть я даже для эксперимента вынес в отдельный файл, чтобы исключить влияние browser-sync и system.js и просто открыл через phpstorm в браузере. Я даже не знал что он таким образом сам какой-то сервак запустит, но и это не помогло, хистери не работает.
Сергей Протько: я не так наверное выразился. Для работы хистери достаточно просто страничку в браузере открыть? У меня тоже экспресс и nginx, но в дев же окружении все подгружает browser-sync. И вот я думаю, а могло бы это быть причиной того, что у меня хистери не работает?