
Stanislav
15.09.2017
18:43:27
Будет

DimenSi
15.09.2017
18:43:29
врешь?

Stanislav
15.09.2017
18:43:45
Честно вру

DimenSi
15.09.2017
18:43:49
фух

Google

DimenSi
15.09.2017
18:43:57
судя по аватарке
тебе 22-24?

Stanislav
15.09.2017
18:44:31
25 стало 13 сентября

DimenSi
15.09.2017
18:44:42
почти

Stanislav
15.09.2017
18:44:47

DimenSi
15.09.2017
18:44:57
пытался гадать по аватарке, как по чаю

Stanislav
15.09.2017
18:45:02
Аа
Такой сейчас не найти
Она была до 30 хрома

Roman
15.09.2017
18:45:35

DimenSi
15.09.2017
18:46:01
ну

Roman
15.09.2017
18:46:09
ну и прод не на ноде будет, так что для него задать надо во время сборки

DimenSi
15.09.2017
18:46:10
я же ттебе трюк со свичем показал же

Google

DimenSi
15.09.2017
18:46:22
никого прод не на ноде если что

Roman
15.09.2017
18:47:06
я не понимаю в какой части приложения он будет работать, в App.vue же уже нет

Stanislav
15.09.2017
18:47:40

DimenSi
15.09.2017
18:47:44
https://pastebin.com/fLuApSjN
так тебе понятней?
есть глобальный конфиг файл, а он сначала задает на основе env переменные, а потом они уже по всей системе используются
если хочется, чтоб при минификации ненужное удалялось, то можно использовать фишку
if (PRODUCTION) {}, if (DEVELOP) {}, самое главное, что эти значение отдавали только true или false, тогда eslint будет вырезать false ифы
я не захотел в доке вебпак темплейта копаться, поэтому использовал contextReplacementPlugin напрямую

Roman
15.09.2017
18:52:16
глобальный лежит в config/index.js, это я вижу, в нем есть
module.exports = {
build: {
env: require('./prod.env'),
},
dev: {
env: require('./dev.env'),
}
}

DimenSi
15.09.2017
18:52:37
и когда собирал нужные сборки то
export BUILD_TYPE="production" && node build
если ты хочешь использовать возможности шаблона
то прокидывай в dev или build нужные переменные
и вызывай их через process.env.url

Roman
15.09.2017
18:54:49
я какую-то простую вещь упускаю, но понять пока не могу
вот этот считч`switch (BUILD_TYPE)` будет работать во время сборки, т.е. мне, например, дев сервер надо перезапустить, верно?

DimenSi
15.09.2017
18:55:09
да
вместо build_type будет вставляться переменная же

Roman
15.09.2017
18:55:42
и это прямо в App.js можно писать, или таки нет?

DimenSi
15.09.2017
18:55:47
да
эти переменные доступы приложению

Google

DimenSi
15.09.2017
18:56:12
и будут доступы и после сборки
вебпак вместо BUILD_TYPE вставит слово которое ты ему передал и все
вот и вся магия
BUILD_TYPE это моя переменная если что, я ее передал через настройки вебпака
new webpack.DefinePlugin({
'process.env': config.dev.env,
'BUILD_TYPE': JSON.stringify(process.env.BUILD_TYPE)
}),
https://webpack.js.org/plugins/define-plugin/

Roman
15.09.2017
18:59:43
вроде понятно, пробую настроить, в вебпаке уже есть NODE_ENV

DimenSi
15.09.2017
18:59:57
и есть чат https://t.me/webpack_ru

Roman
15.09.2017
19:02:37
всё, заработало!
switch (process.env.NODE_ENV) { //eslint-disable-line no-undef
case 'development':
apiUrl = 'http://api.dev.com';
break;
case 'production':
debugMode = false;
sentryConfig = myconfig;
apiUrl = 'http://api.prod.com';
break;
default:
apiUrl = 'http://api.dev.com';
domainUrl = 'localhost';
}
не хочу никаких дополнительных плагинов-лодеров-чатов, еще бы 10 минут и я перешел бы на sed, всё равно в гошечке go generate дергать =)
спасибо!

DimenSi
15.09.2017
19:06:47
ну я рад

Stanislav
15.09.2017
19:07:20
?

DimenSi
15.09.2017
19:07:46
@c01nd01r кстать, я не понял, как мне насоздавать конфигов под каждый случай?
если использовать возможности шаблона
точней я не понял, как запускать сборщик с нужным конфигом

Stanislav
15.09.2017
19:08:38
Я не понимаю, какие конфиги ты хочешь

DimenSi
15.09.2017
19:09:18
http://vuejs-templates.github.io/webpack/env.html
вот тут нам предлагают создавать конфиги под нужные env
а как запустить сборщик с нужным env я не вкурил
я из-за этого полез в definePlugin

Google

DimenSi
15.09.2017
19:11:55
когда по идеи шаблона должен юзать конфиги которые предоставляет шаблон

Mikel
15.09.2017
21:03:27
Всем привет, я новичок во vue и очень нуждаюсь в вашей помощи
Больше некуда пойти
Ситуация такая: есть приложение, есть пара дочерних компонентов, все работает, но не совсем правильно
Я регистрирую старший компонент через new Vue({components:{..})
Так вот в браузере devtools его не видит
И вообще он не создаётся
Если через render, то все хорошо

DimenSi
15.09.2017
21:09:22
Используется сборщик или без него работа?
через new Vue({}) ты сознаешь новый инстанс, а не добавляешь компоненты глобально

Mikel
15.09.2017
21:10:03
Нет, это понятно
Я его выше импортирую
Сборщик есть, webpack

DimenSi
15.09.2017
21:10:41
если ты используешь сборщик, то ты просто должен возвращать объект
без new Vue

Mikel
15.09.2017
21:11:55
Нет, тогда я не правильно понял
Я пошёл по очень простому пути, я взял vue-cli, сгенерил им проект
А потом добавил vuex

DimenSi
15.09.2017
21:13:27
ты это читал?
https://vue-loader.vuejs.org/ru/

Mikel
15.09.2017
21:14:41
Ну да, но у меня все настроено

Google

DimenSi
15.09.2017
21:15:02
я как бы предлагаю не настраивать, а прочитать как вообще .vue файлы работают
https://vue-loader.vuejs.org/ru/start/spec.html
либо сядь и напиши свои мысли за раз, собирать от тебя инфу по кусочкам и ждать твоего ответа раз в 5 минут не торт.

Roman
15.09.2017
21:16:54
Да чет рили пока неясно
Подробнее проблему с кодом

DimenSi
15.09.2017
21:17:23

Mikel
15.09.2017
21:22:21
Так, есть файл main.js, есть файл App.vue. Точка входа main.js, там создаётся экземпляр Vue. При создании в конструктор передаётся объект с полем components, в который передаётся корневой компонент App. Но при запуске приложения он не создаётся

Roman
15.09.2017
21:23:19
Так не надож в него компонент передавать в корень. Его mount надо

DimenSi
15.09.2017
21:24:25
new Vue({
el: '#app',
template: '<App/>',
components: { App },
router,
store,
});
по умолчанию так у всех, а дальше строят приложение от App.vue
el: '#app' это точка монтирования, может ты ее не указал?

Roman
15.09.2017
21:25:50
интересно, components: { App }, это зачем вообще. у меня без этого, хотя глянул шаблон вебпака там есть

Mikel
15.09.2017
21:26:08
Нет, указал, все точно так же

Roman
15.09.2017
21:26:22
а все сорян я сплю, у меня рендер)

Mikel
15.09.2017
21:26:53
При этом если писать через render(h){return h(App)}
Все хорошо

Roman
15.09.2017
21:27:13
render: h => h(App)
ну вот так и пиши
в чем проблема?)