в том что при прямом заходе на страницу ловлю window is not defined да и подключен вроде как компонент, но вызывать всё равно приходится вот так в компоненте
Кстати, судя по readme, Vue.use ничего не даст, потому что экспортируется компонент, а не vue-плагин. Т.е. или там, где используется, надо зарегистрировать его, или через Vue.component.
в том что при прямом заходе на страницу ловлю window is not defined да и подключен вроде как компонент, но вызывать всё равно приходится вот так в компоненте
Если window используется именно компонентом, то нужно его обернуть в <client-only>. Если window используется уже при импорте, то пакет не очень хорошо написан. Тогда надо и <client-only>, и компонент регистрировать в nuxt-плагине с mode: client.
Сначала попробуй вариант с максимальным шансом на успех: 1) ElementUI в отдельном плагине с mode: "all" 2) свой этот baseflow регистрировать в плагине с mode: "client" и через Vue.component 3) в вёрстке вставлять компонент, обрамляя его <client-only>
т.е. отчаявшись импортировать, я просто вставил bootstrap/dist/css/bootstrap.css и bootstrap-vue/dist/bootstrap-vue.min.css все это scoped и менюшка все равно имеет вид посыпавшейся от css