34:58 при использовании null-loader: в сгенерированном html на сервере у html-элементов не будут прописаны css классы. Будет битая верстка, если гидрация не пройдет. Или я не прав?
Очень мощный доклад! Сколько жениных слез, боли и потерянного времени под капотом... Могу добавить нового челленджа на месяц: - дожать Code Splitting с помощью react-loadable и будет огонь!
1:13:10 Дырка XSS. Юзайте github.com/yahoo/serialize-javascript для сериализации data. Простая проверка: вставьте '' куда-нибуть в тексте в переменную data, и скрипт в браузере упадет.
Не слышно вопросы из зала. За видео спасибо!
34:58 при использовании null-loader: в сгенерированном html на сервере у html-элементов не будут прописаны css классы. Будет битая верстка, если гидрация не пройдет. Или я не прав?
где послушать лекцию по вебпаку?
36:41 А почему не юзать вебпак в multi-compiller mode?
js```
const bundler = webpack([clientConfig, serverConfig]);
await run(frontendServer, bundler.compilers[0]);
await run(backendServer, bundler.compilers[1]);
```
Все же пилим isomorphic app. И если frontendServer сгенерит файлик с ассетами и положит рядом с server.js. То серверная сбока, которая стартует следом, безболезнено подцепит нужные ассеты для SSR.
Ассеты можно вот таким самопальным плагином для вебпака генерить:
{
apply(compiler) {
compiler.hooks.afterEmit.tapAsync('CustomAssetsWriter', (compilation, callback) => {
const stats = compilation.getStats().toJson({
hash: true,
publicPath: true,
assets: true,
chunks: false,
modules: false,
source: false,
errorDetails: false,
timings: false,
children: false,
});
fs.writeFileSync(
path.join(__dirname, '../build', process.env.NODE_ENV, 'stats.client.json'),
JSON.stringify(stats, null, 2)
);
fs.writeFileSync(
path.join(__dirname, '../build', process.env.NODE_ENV, 'revision.txt'),
REVISION
);
callback();
});
},
},
а можно ссылку на доклад по Вебпаку? :)
Ребята а если сервер не на node, например на другом платформе это код будет работать?
почему так сложно
quantum-router'a больше нет(
46:55 Запятую? Без висячих запятых!
next.js?
nuxt ?
@@Mike37373 universal ?
Очень мощный доклад! Сколько жениных слез, боли и потерянного времени под капотом...
Могу добавить нового челленджа на месяц:
- дожать Code Splitting с помощью react-loadable и будет огонь!
Очень круто!
1:13:10 Дырка XSS.
Юзайте github.com/yahoo/serialize-javascript для сериализации data.
Простая проверка: вставьте '' куда-нибуть в тексте в переменную data, и скрипт в браузере упадет.
Упс, не досмотрел. Там есть replace(/
Гы и опять не досмотрел. На клиенте обратно декодят < в
Доклад супер. Помог переписать существующий проект на работе под ssr
КТО!!! Кто хранит в редаксе функции?)))