Not ideal, but solved:
npm install gridstack -D
npm i vite-plugin-static-copy -D
Nothing in app.js
In vite.config.js:
...
import {viteStaticCopy} from "vite-plugin-static-copy";
...
export default defineConfig({
...
plugins: [
...
viteStaticCopy({
targets: [
{
src: 'node_modules/gridstack/dist/gridstack-all.js',
dest: 'js'
},
{
src: 'node_modules/gridstack/dist/gridstack.min.css',
dest: 'css'
},
{
src: 'node_modules/gridstack/dist/gridstack-extra.min.css',
dest: 'css'
},
]
})
],
});
in layout file are stacks for styles and scripts
<!DOCTYPE html>
...
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
@stack('styles')
</head>
<body>
...
@stack('scripts')
</body>
</html>
in component blade file just:
...
<div class="grid-stack">
...
</div>
...
@push('styles')
<link rel="stylesheet" href="{{ Vite::asset('css/gridstack.min.css') }}">
<link rel="stylesheet" href="{{ Vite::asset('css/gridstack-extra.min.css') }}">
@endpush
@push('scripts')
<script src="{{ Vite::asset('js/gridstack-all.js') }}"></script>
<script>
GridStack.init({column: 6});
</script>
@endpush
And working just fine.