
Denis
28.04.2017
20:30:58
Ребят, вы бы гоу в https://t.me/macos_ru :)

Evgeny
28.04.2017
20:32:08
Перевёз

Maxim robox
29.04.2017
00:18:51

des
29.04.2017
08:50:33
подскажите пожалуйста, почем у меня ссылки на главной (которые справа) не работают как нужно, а ссылки слева работают?
http://unfalsecoding.net/rrm/
https://github.com/unfalse/wordpress_react_mirror/blob/master/src/App.js

Google

des
29.04.2017
08:51:52
react-router 4 использовал, не понимаю логики этого роутера
вроде бы Link'и внутри Router лежат
так, извиняюсь, ссылки справа работают
а слева как раз не работают

ASergey
29.04.2017
10:10:26
Не могу найти канал по vuejs
Дайте плз

KDeveloper ??
29.04.2017
10:11:11
https://t.me/vuejs_ru

des
29.04.2017
10:19:49
всё, починил, в Home был лишним Router

Maxim robox
29.04.2017
11:10:37

Pavel
29.04.2017
12:17:26
Господа, подскажите, пожалуйста.
Внутри роутов я использую компоненты, которые включают картинки, примерно так
import myImg from './img.png'
<img src={myImg}>
Точка входа приложения выглядит вот так
const router = (
<BrowserRouter>
<Route path='/'
component={App}/>
</BrowserRouter>
);
ReactDOM.render(
router,
document.getElementById('root')
);
Вебпак всё складывает в папку dist. В том числе и картинки из компонентов.
Проблема в том, что складывает он их в корень, примерно так
dist/img.png
А пути в HTML прописывает согласно роутам, примерно так
<img src="/path/img.png">
Соответственно, все картинки на вложенных роутах — 404.
Мне нужно сказать вебпаку складывать картинки в dist согласно вложенности роутов, или же сказать писать пути без роутов в HTML.
Ни то, ни другое у меня не получается.
Подскажите, пожалуйста — как быть?

Evgeny
29.04.2017
12:26:31
Лоадер вебпака подключи
Файл лоадер

Pavel
29.04.2017
12:30:36
Подключен

Google

Pavel
29.04.2017
12:30:53
Конфиг вебпака выглядит примерно так
module.exports = {
watch : true,
entry : {
app: [
'babel-polyfill',
path.resolve(__dirname, 'src/index.jsx')
]
},
resolve: {
extensions: ['.js', '.jsx']
},
output : {
filename: 'bundle-[hash].js',
path : path.resolve(__dirname, 'dist'),
},
plugins: [
new ExtractTextPlugin('[name]-[hash].css'),
],
module : {
rules: [
{
test : /\.jsx?$/,
exclude: /node_modules/,
use : 'babel-loader',
include: path.join(__dirname, 'src')
},
{
test: /\.(less|css)$/,
use : ExtractTextPlugin.extract(
{
use: [
{loader: 'css-loader'},
{loader: 'resolve-url-loader'},
{loader: 'less-loader'},
]
}
),
},
{
test: /\.(png|jpg|jpeg|gif)$/,
use : [
'file-loader?hash=sha512&digest=hex&name=[name]-[hash].[ext]',
'image-webpack-loader?bypassOnDebug&optimizationLevel=7&interlaced=false'
],
},
]
}
}

Ostap
29.04.2017
12:32:54
Почему не CRA?

Pavel
29.04.2017
12:37:07
А что это?

Ostap
29.04.2017
12:39:03
Create react app

Abu
29.04.2017
12:39:16
такое себе

Pavel
29.04.2017
12:39:37
И вот в этом месте затык


Maxim robox
29.04.2017
13:04:25
Конфиг вебпака выглядит примерно так
module.exports = {
watch : true,
entry : {
app: [
'babel-polyfill',
path.resolve(__dirname, 'src/index.jsx')
]
},
resolve: {
extensions: ['.js', '.jsx']
},
output : {
filename: 'bundle-[hash].js',
path : path.resolve(__dirname, 'dist'),
},
plugins: [
new ExtractTextPlugin('[name]-[hash].css'),
],
module : {
rules: [
{
test : /\.jsx?$/,
exclude: /node_modules/,
use : 'babel-loader',
include: path.join(__dirname, 'src')
},
{
test: /\.(less|css)$/,
use : ExtractTextPlugin.extract(
{
use: [
{loader: 'css-loader'},
{loader: 'resolve-url-loader'},
{loader: 'less-loader'},
]
}
),
},
{
test: /\.(png|jpg|jpeg|gif)$/,
use : [
'file-loader?hash=sha512&digest=hex&name=[name]-[hash].[ext]',
'image-webpack-loader?bypassOnDebug&optimizationLevel=7&interlaced=false'
],
},
]
}
}
output.publicPath: 'dist'
Или 'path'.
Короче, тебе нужна эта опция:
https://webpack.js.org/configuration/output/#output-publicpath

Pavel
29.04.2017
13:07:17

Maxim robox
29.04.2017
13:08:20
Читаю, спасибо
{
test: /\.(png|jpg)$/,
loader: 'url-loader?limit=100000&name=./imgs/[hash].[ext]'
}
Вот образец. Там надо поменять путь на подходящий тебе.
Тьфу, не тот лоадер. Вот.
use: "file-loader?name=[name].[ext]&publicPath=assets/foo/&outputPath=app/images/"

Abu
29.04.2017
13:12:22
конфиги вебпака выглядят ужасно
пзддц :с

Vladimir
29.04.2017
13:15:26
такой способ передачи параметров разве не deprecated? name и тд в options надо передавать

Shane
29.04.2017
13:30:27
Привет. Ютуб чтот мудрит. Что это за фигня

Google

Shane
29.04.2017
13:31:07
показывает на всех прямых эфирах

Pavel
29.04.2017
13:44:07

Vladimir
29.04.2017
13:47:34
},{
test: /\.(png|jpg)$/,
use: [
{
loader: "file-loader",
options: {
name: "[name].[ext]",
publicPath: "assets/images/",
outputPath: "public/assets/images/"
}
}
]
},{
но у меня в проектах чаще publicPath указан в output, а name типа
name: "assets/images/[name].[ext]",

Pavel
29.04.2017
13:50:56
Ага, спасибо, щас попробую

Evgeny
29.04.2017
14:04:11
Я вот не понимаю, как можно прогать на Redux при наличии Mobx
React - хороший фреймворк, React+Mobx - отличный, а Redux добавить это как нассать в бочку с пивом

Admin
ERROR: S client not available

Evgeny
29.04.2017
14:04:11
Ребят, гоу с такими тредами в https://t.me/react_js
Мобкс говно потому что явное лучше неявного
Тред закрыт

Aleh
29.04.2017
14:05:17
https://i.ytimg.com/vi/kwXIwS_MCTU/hqdefault.jpg

Vladimir
29.04.2017
14:33:41

sne18
29.04.2017
14:37:00

Дмитрий
29.04.2017
14:38:12
Раунд

Group Butler
29.04.2017
14:40:37
sne18, this type of media is not allowed in this chat.
(1/3)

sne18
29.04.2017
14:41:48
))

Denis
29.04.2017
14:43:36
Внимание вопрос! Есть определенные кейсы, при отсутствии semicolons, когда это создаёт ошибку, создавая не то поведение, что ожидается. И было правило eslint, которое алертило, если такие кейсы возникают. Кто-нибудь помнит, что это за правило?

Pavel
29.04.2017
14:53:00

Pavel
29.04.2017
14:55:16

Google

Pavel
29.04.2017
14:55:23
нет?

Igor
29.04.2017
14:56:26
http://eslint.org/docs/rules/no-unexpected-multiline

Pavel
29.04.2017
15:00:12

Denis
29.04.2017
15:40:59

Ostap
29.04.2017
16:23:58
Нас 2к. Или это не новости? ;)

Denis
29.04.2017
16:24:43
Ура! Всех с праздником! ?

Roman
29.04.2017
17:42:18
\o/

Denis
29.04.2017
18:42:48
Продолжаем вечеринку! https://www.youtube.com/watch?v=MuHvOAGM14M