How i can use Vue2 module in SSR WITHOUT Nuxt.js with native vue-server-renderer module?

I have a problem, I cannot use SSR from the official documentation in any way, I could not include any module using the native way of creating SSR. I always get an error window is not defined even if the module has adaptations for SSR. Why is vue-server-renderer not working?! Why should I definitely use Nuxt.js ?

My project use vue v2.x and webpack v4.x.x, because SSR modules with Vue2 is not working with webpack version 5.x.x, but I guess that’s not the reason

For example i use vue-js-modal module, which having ssr include files, but it is not working, if i include it with code

import Vue from 'vue'
import VModal from 'vue-js-modal/dist/ssr.nocss'
import 'vue-js-modal/dist/styles.css'
Vue.use(VModal, { ... })

I getting this errors


Compilation Time: 749.594ms
ReferenceError: window is not defined
    at Module.o.m.n (/var/www/
    at o (/var/www/```

I cannot use any third-party module, even if it is adapted for ssr. What do I need to do for this?