@vuejs_ru

Страница 1337 из 3900
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
https://webpack.js.org/plugins/context-replacement-plugin/#src/components/Sidebar/Sidebar.jsx
это всё хорошо, но ведь эти переменные только на сервере доступны. А как на основе них задать разные в клиентском js? Нужны разные адреса бекендов

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
Я пошёл по очень простому пути, я взял vue-cli, сгенерил им проект
к твоему удивлению, все такой путь используют, он не простой, а один из верных

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)

ну вот так и пиши

в чем проблема?)

Страница 1337 из 3900