
Sergey
03.11.2016
20:26:05
если новый — то тс

Aleh
03.11.2016
20:29:09
вот это как оказалось без разницы
одинаково больно и то, и другое

Sergey
03.11.2016
20:30:24
:D

Google

Dreamerinnoise
04.11.2016
06:52:18
Кто дружил вебпак 2 бета 25 с постцсс лоадером и экстракт плагином?


Sergey
04.11.2016
07:22:51
С экстракт плагином там как я понял вообще конченная ситуация
они наполовину сделали поддержку нового api конфига, а наполовину оставили старым
например, в него не options надо, как по новому, а query, как по старинке
причем если тупо строку передать с квери параметрами, как в старой версии можно было, сейчас не получилось - экстракт плагин даже не распознал опции лоадеров
вот пример, который я наванговал и который заработал :)
{
test: /\.sass$/,
loader: extractCSS.extract({
fallbackLoader: 'style',
loader: [
{
loader: 'css',
query: {
modules: true,
importLoaders: 2,
sourceMap: true,
}
},
{
loader: 'autoprefixer',
query: {
browsers:'last 2 version',
}
},
{
loader: 'sass',
query: {
indentedSyntax: true, // compile .sass syntax instead of .scss
includePaths: [path.resolve(__dirname, '..', "./src")]
}
},
]
})
},
обрати внимание, что после test, я передаю не use, как надо, а loader. На этом я прямо долго завис когда переходил на второй вебпак


Dreamerinnoise
04.11.2016
07:27:40
Славная экосистема
Бодрая
Из postcss плагинов пытаюсь пока только cssnext завести и postcss-import
С последним тоже беда

Bogdan
04.11.2016
09:32:29
У реакт-роутера есть набор объектов и в документации они описаны. А как мне в девтулз хрома узнать тип объекта, чтобы посмотреть в доке его описание?

Google

Vladimir
04.11.2016
09:34:03
установить react-devtools chrome extension


Dreamerinnoise
04.11.2016
09:58:22
вот пример, который я наванговал и который заработал :)
{
test: /\.sass$/,
loader: extractCSS.extract({
fallbackLoader: 'style',
loader: [
{
loader: 'css',
query: {
modules: true,
importLoaders: 2,
sourceMap: true,
}
},
{
loader: 'autoprefixer',
query: {
browsers:'last 2 version',
}
},
{
loader: 'sass',
query: {
indentedSyntax: true, // compile .sass syntax instead of .scss
includePaths: [path.resolve(__dirname, '..', "./src")]
}
},
]
})
},
{
test: /\.css$/,
loaders: ExtractTextPlugin.extract({
fallbackLoader: 'style-loader',
loader: [
{
loader: 'css-loader',
query: {
importLoaders: 1,
modules: true,
localIdentName: "[path][name]--[local]--[hash:base64:5]"
}
},
{
loader: 'postcss-loader',
query: {
plugins: [
require("postcss-import")({path: ['node_modules', path.resolve(process.cwd(), 'src')]}),
require("postcss-focus")(),
require("postcss-cssnext")({
browsers: "last 2 versions",
}),
]
}
}
]
}),
},
не взлетело, в общем. Наверное, откачусь на вебпак 1
@znack в общем, я заюзал LoaderOptionsPlugin
в него отдал объект
{
test: /\.css$/,
options: {
postcss: postcssPlugins,
context: __dirname,
},
}
postcssPlugins здесь это
const postcssPlugins = () => [
require("postcss-import")({path: ['node_modules', path.resolve(process.cwd(), 'src')]}),
require("postcss-focus")(),
require("postcss-cssnext")({
browsers: "last 2 versions",
}),
require("postcss-reporter")(),
];
Так вот пока костыльно работает.
алсо, отсюда взял наводку. а экстракт передаю как options, а не query


Vasiliy
04.11.2016
10:31:10

Dreamerinnoise
04.11.2016
10:34:23

Vasiliy
04.11.2016
10:40:12

Dreamerinnoise
04.11.2016
10:41:49
Да, это просто алиас


Vasiliy
04.11.2016
10:42:04
@znack в общем, я заюзал LoaderOptionsPlugin
в него отдал объект
{
test: /\.css$/,
options: {
postcss: postcssPlugins,
context: __dirname,
},
}
postcssPlugins здесь это
const postcssPlugins = () => [
require("postcss-import")({path: ['node_modules', path.resolve(process.cwd(), 'src')]}),
require("postcss-focus")(),
require("postcss-cssnext")({
browsers: "last 2 versions",
}),
require("postcss-reporter")(),
];
Так вот пока костыльно работает.
алсо, отсюда взял наводку. а экстракт передаю как options, а не query
я сделал с postcss.config.js
https://github.com/michael-ciniawsky/postcss-load-config
но там забавно все выглядит:
module.exports = ctx => ({
map: ctx.env === 'development' ? ctx.map : false,
from: ctx.form,
to: ctx.to,
plugins: {
stylelint: {},
'postcss-size': {},
'postcss-position': {},
'postcss-font-magician': {},
precss: {},
cssnano: ctx.env === 'production' ? {} : false,
},
});
+ extract с webpack-combine-loaders (combineLoaders):
loader: ExtractTextPlugin.extract({
fallbackLoader: 'style',
loader: combineLoaders([ <my-loaders> ]),
}),
где: "extract-text-webpack-plugin": "2.0.0-beta.4", тк ему надо именно loader, 1


Dreamerinnoise
04.11.2016
10:48:39
алсо почему-то импортирует криво ещё
.someGlobalClass {
}.styles--test--TTjGm {
background-color: rgb(102, 51, 153);
color: rgba(18, 52, 86, 0.47059);
}

Vasiliy
04.11.2016
11:05:37
про postcss-import спасибо, откатился тоже на 8.0.2, работает

Dreamerinnoise
04.11.2016
11:07:36
как их отделить?

Vasiliy
04.11.2016
11:10:07
я, честно говоря, даже не знаю: в дев окружении – сорсмапы, а в прод и так все в одну строчку с cssnano & uglify

Andrey
04.11.2016
11:48:34
Гайз, а может кто-то пояснить, почему реакт требует key именно в циклических выводах?

Vasiliy
04.11.2016
11:50:24
https://facebook.github.io/react/docs/reconciliation.html#keys

Andrey
04.11.2016
11:50:30
Может он весь вывод цикла/мапа помещает в какой-то блок, а потом его уже один раз вставляет в дом? В таком случае - понятно, но это догадки

Google

Andrey
04.11.2016
11:51:53

Dreamerinnoise
04.11.2016
12:00:42
Ещё вопрос, про фичу второго вебпака. System.import
если с этим асинхронно подгружать компоненты, то хотрилоад не работает, сталкивался кто-нибудь?
https://github.com/gaearon/react-hot-loader/issues/303

Артём
04.11.2016
12:15:18
Всем привет. Вопрос про экосистему React + Redux. Используете ли какие-нибудь middleware (redux-thunk, redux-promise)? Как гоняете запросы в action'ах? Разрешаете промисы в action'ах или прокидываете их прямо в reducer, где они разрешаются через middleware? Исполльзовали ли axios для запросов и какое к нему отношение?

Дмитрий
04.11.2016
12:29:13
Все как здесь прописали
http://redux.js.org/docs/advanced/AsyncFlow.html

Ave
04.11.2016
12:34:46

Артём
04.11.2016
12:41:37
Кто-нибудь считает axios избыточным и вместого него лучше использовать js fetch?

Pavel
04.11.2016
12:42:04
я использую собственную обертку над fetch
как и многие здесь

Артём
04.11.2016
12:44:42

Pavel
04.11.2016
12:45:48
thunk хватает на все
лично мне
а так redux-promise норм тема и многие используют, я думаю

Denis
04.11.2016
12:48:38

Pavel
04.11.2016
12:49:46
да
недавно появился, правда

Vasiliy
04.11.2016
12:49:59
а что за обертка?

Pavel
04.11.2016
12:52:21
2 файла - класс для создания адаптеров к сервисам по path (адаптер = конфигурируемая фигня, которая работает с fetch и типами запросов) и фабрика адаптеров, привязанная к конкретному апи (беку, апи каких-нибудь соцсетей или чему-то подобному)

Google

Pavel
04.11.2016
12:52:37
200 строк кода по сути
и фигня всякая по вкусу типа коннекта к redux store
если требуется

Vasiliy
04.11.2016
12:56:01
я просто какое-то время не следил за https://github.com/whatwg/fetch/issues/27
там же нет cancel еще

Pavel
04.11.2016
12:57:01
для cancel использую xhr, то есть не все запросы cancellable
только для каких-то конкретных, но это пока такая топорная реализация в рамках задачи, не особо изучал эту тему

Vasiliy
04.11.2016
12:57:46
а, понял, спасибо
скорее всего будет fetch(request, token), https://github.com/zenparsing/es-cancel-token,
еще этот https://github.com/tc39/proposal-cancelable-promises

Andrey
04.11.2016
13:50:17
Кто-то работал с react в salesforce?

Dreamerinnoise
04.11.2016
15:16:16
Под второй вебпак кто-нибудь писал кастом лоадеры?
nvm

Ҫѐҏӗѫӑ
04.11.2016
16:36:40
у кого есть под рукой простейший пример с эрроу фанкшн проперти инитиалайзером вместо бинда в конструкторе?
поделитесь плз
самый самый простой
или там статью откуда скопировать можно
лень самому пример писать :ь

Sergey
04.11.2016
16:38:49