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 не пиши
Виталий
И он будет работать вне компонента
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, + шрифты и стили, суммарно очень много получается. Подскажите решение как уменьшить
Nikolay
у тебя полюбому много лишнего подключено
Nikolay
сам vue занимает 90кб всего, в gz еще меньше
Denis
да
Ты там че то не то сделал
Anton
У меня стек примерно Vue + vuex + vue-apollo + soket.io + vue-axios + еще всякая лабуда
Anton
да
Anton
Сейчас проверю минифицирует ли вообще вебпак их
Stanislav
да
npm run build —report
Stanislav
если шаблон webpack
Anton
Короче вебпак не минифицирует
Stanislav
Ошибки есть какие-нить?
Anton
UglifyJsPlugin был отключен, включил, пробую собрать
Denis
Ошибки есть какие-нить?
Монтировкой по колесам стучал?
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
с вебпаком не особо дружу
Stanislav
Вместо Uglify чем можно сжать?
Лучше проверь, правильно ли ипортируешь vue-strap и где у них билд для es5
Yaroslav 🇺🇦
А что там вебпак в вендор пихает? Я кли не использую. Праздный интерес
Stanislav
Для кэширования
Anonymous
А как сделать Vue доступным глобально, например мне надо обращаться типо Vue.blahblah в beforeDestroy. Как это делать не импортируя вью в каждый компонент? Что кажется дуростью
Yaroslav 🇺🇦
this.$root
Stanislav
blahblah - это что? :)