Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

jerrrrrrrrbear's avatar

Is there a Windows 98 themed CSS/JS library that I can use elegantly with Laravel? (solutions that require just Laravel/PHP, and not any .js runtimes)

I'm currently using 98.css, but it's super limited since it's only CSS (no JavaScript, and thus not much dynamic content).

I'm currently looking at this npm package 1j01/os-gui as a possible choice.

Just wondering if there are any others that can work alongside Laravel?

Also, I'm a bit confused as to whether or not these options need a running node.js server. I just want to use Laravel/PHP, and don't really want to learn and maintain the complexities of having to run multiple "servers" if that makes any sense (talking about things like React, Node.js, etc... stuff that needs something running in the background in addition to the PHP server); it's because I'm running this website alongside other PHP websites via RunCloud on top of a single DigitalOcean droplet.

I hope I made any sense in explaining my thoughts and concerns. Thanks again!

0 likes
5 replies
drehimself's avatar
Level 35

I looked at the os-gui project and it looks like it's just some .js files and some .css files you need to include. I managed to get it working on a blank Laravel app.

The documentation is unclear but look at the index.html file in the main folder of the repo: https://github.com/1j01/os-gui. If you can get this working locally, it might make more sense to you with all the example components rendering. Clone the repo and do a npm install and then a npm run live-server.

Specifically, look at the CSS imports and the JS imports:

<link href="build/layout.css" rel="stylesheet" type="text/css">
<link href="build/windows-98.css" rel="stylesheet" type="text/css">
<link href="build/windows-default.css" rel="stylesheet" title="Windows Default" type="text/css">
<script src="demo/lib/jquery-3.3.1.js"></script>
<script src="MenuBar.js"></script>
<script src="$Window.js"></script>
<script src="parse-theme.js"></script>
<script src="demo/demo.js"></script>

In your Laravel project, make sure these files are in there, say in the public folder, and change the paths accordingly. I just tried it in the default welcome.blade.php and all the retro WIn 98 windows showed up.

To answer your other question about needing a Node server, no, you don't need a Node server running to make these components work in Laravel. It's only used for development for things like npm dependencies and getting a dev live server working. Generally speaking, you only need a Node server in production when the components have support for "server-side rendering" or SSR.

jerrrrrrrrbear's avatar

@drehimself thanks for the reply!

sorry for the newb question (I'm new to Laravel), but after installing an npm package sail npm i os-gui, how do I import/use the the installed npm package? running sail npm run dev doesn't seem to compile the installed npm packages automatically. I'm using laravel 9.

drehimself's avatar

I didn't even bother using npm when I tried. I just copied the files from the GitHub repo and manually pasted them in my Laravel project.

For reference, here's my GitHub repo: https://github.com/drehimself/l9-test

Just check out the welcome.blade.php file.

jerrrrrrrrbear's avatar

@drehimself ah i see, i guess for a beginner laravel user like me, it's better to just manually copy and paste required files? if I wanted to work with npm and composer, how would I go about that (because shouldn't I be utilizing Mix for my CSS and JS files [i.e. any installed npm packages, etc...])?

(not sure if it matters but do note that I am using git to deploy onto a staging site, and when development is finished to the production site.)

drehimself's avatar

@jerrrrrrrrbear Using npm is fine, it's just that this package doesn't have very clear instructions on how to install it and where to put things. In cases like these, it's easier to figure things out when you do things manually.

Please or to participate in this conversation.