These are chat archives for dev-ua/reactjs

7th
Jul 2017
Evgeniy Labutin
@LabEG
Jul 07 2017 08:33
вопрос, кто встречал баг в материале реактовском
есть кнопка, при клике на кнопку всплывает дропдаун
в чем косяк, на сенсорных устройствах при точдаун он открывается, при тачапе срабатывает клик и он закрывается
если сделать дебаунс то помогает, но если адекватное решение?
alexey-kuznetsov
@alexey-kuznetsov
Jul 07 2017 08:37
а обрабатывается onClick или onTouchTap?
Evgeniy Labutin
@LabEG
Jul 07 2017 08:37
хм =)
сейчас попробуем )
Dmitry Poddubniy
@mr47
Jul 07 2017 09:40
@divan если на реакте, react-jsonschema-form
Artyom Tsurkan
@artsurkan
Jul 07 2017 15:36
А в чём прикол, запускаю prod версию bundle.js роутинг работает без проблем. На dev версии работает только корень /.
На остальные роуты пишет Uncaught SyntaxError: Unexpected token <.
Пока не поменял react-router 3 на 4 все отлично работало и на dev и на prod. Пробовал добавлять <base href="/" /> в head не помогло, да и ересь какая-то это. Мне бы понять чего браузер не хочет есть dev-версию.
Evgeniy Labutin
@LabEG
Jul 07 2017 17:05
у 3 и 4 настройки сильно разные
Vlad Shcherbin
@VladShcherbin
Jul 07 2017 17:47
@maxmabius так запусти dev версию и глянь строку, которая ошибку выбивает. Скорее всего, у тебя где-то < лишняя
Artyom Tsurkan
@artsurkan
Jul 07 2017 18:00
не в третей у меня прост был hashHistory, короче output: {publicPath: '/', и build-prod заработал, а build-dev почему-то при загрузке не корневой страницы хватает prod'овский bundle.min.js вместо bundle.js
Artyom Tsurkan
@artsurkan
Jul 07 2017 18:12
if (isDevelopment) {
  console.log('build-dev!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
  const webpack = require('webpack');
  const webpackConfig = require('./webpack.config.babel').default;
  const compiler = webpack(webpackConfig);
  app.use(require('webpack-dev-middleware')(compiler, {
    hot: true,
    stats: {
      colors: true
    }
  }));
  app.use(require('webpack-hot-middleware')(compiler));
} else {
  console.log('build-prod!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
  app.use(express.static(PUBLIC_PATH));
}

app.all("*", function(req, res) {
      res.sendFile(path.resolve(PUBLIC_PATH, 'index.html'));
});
Artyom Tsurkan
@artsurkan
Jul 07 2017 18:17
короче я так понимаю косяк здесь, если я запускаю build-prod при первой загрузке к http://localhost:3000/ отдаётся собранный bundle.min.js, потом если я перехожу http://localhost:3000/otherpage он отдаёт index.html с тем же bundle.min.js
в случае с dev-build, первая загрузка к http://localhost:3000/ происходит нормально, а дальше он пытается взять страничку с bundle.min.js
я чёт раньше и не задумавался как это работает не могу даже сообразить почему со старым роутером всё работало ))
Artyom Tsurkan
@artsurkan
Jul 07 2017 18:34
а всё сообразил, у меня иначе dev версия и не будет работать, если я перезагружу её не в корне то капец, только если без перезагрузки как spa юзать
Artyom Tsurkan
@artsurkan
Jul 07 2017 18:44
или нет
Kirill Yakovenko
@blia
Jul 07 2017 20:14

```
if (isDevelopment) {
console.log('build-dev!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
const webpack = require('webpack');
const webpackConfig = require('./webpack.config.babel').default;
const compiler = webpack(webpackConfig);
app.use(require('webpack-dev-middleware')(compiler, {
hot: true,
stats: {
colors: true
}
}));
app.use(require('webpack-hot-middleware')(compiler));
} else {
console.log('build-prod!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
app.use(express.static(PUBLIC_PATH));
}

app.all("*", function(req, res) {
res.sendFile(path.resolve(PUBLIC_PATH, 'index.html'));
});
```

Думаю это из-за малого количества - !!!

Artyom Tsurkan
@artsurkan
Jul 07 2017 21:42
да это я просто проверял куда что идёт )) а вам бы только посмеятся над newbie, нет чтоб помочь, все ж такими были )
Юрий Ярош
@yuriy-yarosh
Jul 07 2017 21:45
@maxmabius мы можем только ванговать над содержимым isDevelopment переменной, по этому какой вопрос - такой ответ.