Nikolay
вот я и хочу чтобы не видно было )
Yaroslav 🇺🇦
Это называется пререндер, но мы его так и не завели
Nikolay
да, но во время сборки
Yaroslav 🇺🇦
https://github.com/chrisvfritz/prerender-spa-plugin
Yaroslav 🇺🇦
для вебпака
Rafael 🌵
Ребзь, где сорсы для component is?
Rafael 🌵
Никто так же не смог найти?
Stanislav
Rafael 🌵
было бы здорово, потому что я не могу найти
Alex
<input type="hidden"> - не работает?
Roman
помню в Angular была возможность вставки произвольного HTML'а в компонент с помощью ngTransclude и это довольно удобно, возможно ли подобное в <template>'е .vue файла?
Anonymous
slots
Roman
грубо говоря
<template>
<div class="material-card">
<slot></slot>
</div>
<template>
Roman
slots
я оказывается даже интуитивно с названием угадал 😦
Evgheni
мягко говоря вот https://vuejs.org/v2/guide/migration.html#Slots
Roman
а scoped styles ко всему внутри находящимуся не применятся, верно?
Evgheni
ты имеешь в виду по иерархии типа чтоб дети-компоненты тоже видели?
Evgheni
нет, они не видят родительские scoped styles
Anonymous
<component1>
<h1>Test</h1>
<component2>
<h1>Test</h1>
</component2>
</component1>
Anonymous
стили которые будут у component1 h1
Roman
ну вот грубо говоря есть <material-card> компонент, в него можно вставить произвольный контент, переймёт ли вставленный в слот контент scoped стиль компонента? например
<template>
<div class="material-card">
<slot>
<!-- dynamically transcluded stuff -->
<h1>Title</h1>
</slot>
</div>
<template>
<style scoped>
.material-card h1 {
font-size: 100500rem;
}
</style>
Anonymous
не будут работать для component2 h1 ?
Roman
т.е. динамически вставленный произвольный <h1> не переймёт стиль scoped селектора ".material-card h1" ?
Roman
в принципе логично
Roman
в таком случае нужно в отдельный компонент перемещать заголовок мол:
<material-card>
<material-h1>Title</material-h1>
</material-card>
Nikolay
Yaroslav 🇺🇦
прям то что нужно!
Если он у тебя полетит, то напиши. Чтобы лишний раз по граблям не бегать
Nikolay
уже полетел
Yaroslav 🇺🇦
Блин я уже и не помню, на каком проекте я его тыкал. Есть там нюансы?
Nikolay
ну у меня просто лендос, без роутов так что у меня проблем с ним не было
Yaroslav 🇺🇦
Сформировало готовый html?
Nikolay
да
Yaroslav 🇺🇦
Ну окей. А дополнительно в конфигураторе самого вебпака что-то писал? Параметры какие?
Nikolay
new PrerenderSpaPlugin(
// Absolute path to compiled SPA
path.join(__dirname, '../dist'),
// List of routes to prerender
['/']
)
вот все что я вставил в build/webpack.prod.conf.js
Yaroslav 🇺🇦
Ну пойду чтоль покопаю своего бойца, а то помниццо пришел с ответом нихуа не будет - не летит.
Roman
а можно ли глобальный .css файл каким-то образом запихать в главый App.vue? дабы в index.html в header не вставлять а наоборот чтоб webpack в bundle его поместил
Nikolay
чеж нельзя
Nikolay
можно
Виталий
Scoped не пиши
Denis
Виталий
И он будет работать вне компонента
Nikolay
<style>@import url('https://some.css');</style>
Виталий
Или так
Roman
Scoped не пиши
можно конечно глобальные селекторы в App.vue поместить
/*App.vue*/
<style>
/* global stylesheets */
<style>
<style scoped>
/* local stylesheets */
<style>
но мне кажется что всё-таки лучше переместить глобальные стили в отдельный файл
Anton
всем привет. Возвращаюсь ко вчерашнему вопросу про размер вендоров. SPA на Vue. В в сжатом виде для prod у меня получилось vendor.js - 2,95 mb, vendor.js.gz - 639 kb, app.js - 551kb, app.js.gz - 65kb, + шрифты и стили, суммарно очень много получается. Подскажите решение как уменьшить
Denis
Nikolay
Nikolay
у тебя полюбому много лишнего подключено
Denis
Nikolay
сам vue занимает 90кб всего, в gz еще меньше
Anton
Denis
да
Ты там че то не то сделал
Stanislav
Stanislav
Anton
У меня стек примерно Vue + vuex + vue-apollo + soket.io + vue-axios + еще всякая лабуда
Stanislav
Anton
да
Anton
Сейчас проверю минифицирует ли вообще вебпак их
Stanislav
Stanislav
если шаблон webpack
Anton
Короче вебпак не минифицирует
Stanislav
Ошибки есть какие-нить?
Anton
UglifyJsPlugin был отключен, включил, пробую собрать
Anton
Ранее при билде ошибок не было
Anton
теперь ругается `ERROR in static/js/vendor.1c6d1fda7879cb8e60ca.js from UglifyJs
Unexpected token: operator (>) [./~/vue-strap/src/utils/utils.js:4,0][static/js/vendor.1c6d1fda7879cb8e60ca.js:41160,16]`
Stanislav
открой /vue-strap/src/utils/utils.js
Stanislav
Может там ES6. Uglify не может в ES6
Denis
Заипись искать там.... )))))
Anton
Вместо Uglify чем можно сжать?
Anton
с вебпаком не особо дружу
Maxim
Yaroslav 🇺🇦
А что там вебпак в вендор пихает? Я кли не использую. Праздный интерес
Stanislav
Stanislav
Для кэширования
Anonymous
А как сделать Vue доступным глобально, например мне надо обращаться типо Vue.blahblah в beforeDestroy. Как это делать не импортируя вью в каждый компонент? Что кажется дуростью
Yaroslav 🇺🇦
this.$root
Stanislav
blahblah - это что? :)
Denis