Skip to content

Commit

Permalink
Seperate client and server
Browse files Browse the repository at this point in the history
  • Loading branch information
Anthony Michalek (Codetoil) committed Nov 24, 2023
1 parent 6b7796e commit 958221a
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 24 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ jobs:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build
- run: npm test
- name: Upload Output
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
path: dist
- run: npm test
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"build": "vite build --config vite.config.client.js && vite build --config vite.config.server.js",
"preview": "vite preview",
"test": "vitest"
},
Expand Down
40 changes: 20 additions & 20 deletions server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,25 @@
import { GameServer } from "./server/gameServer";

let gameServer = new GameServer();
const ready = new Promise<GameServer>((resolve, reject) => gameServer.init);
ready.then((value) => {
value.engine.runRenderLoop(() => {
if (
value.started &&
!value.stopped &&
value.world?.game.scene &&
value.world?.game.scene.activeCamera
) {
try {
value.world?.game.scene.render();
} catch (e: any) {
console.error(e);
value.stopped = true;
}
} else if (value.stopped && value.engine) {
value.engine.stopRenderLoop();
console.error("Stopping game...");
const ready = new Promise<GameServer>((resolve, reject) => gameServer.init);
ready.then((value) => {
value.engine.runRenderLoop(() => {
if (
value.started &&
!value.stopped &&
value.world?.game.scene &&
value.world?.game.scene.activeCamera
) {
try {
value.world?.game.scene.render();
} catch (e: any) {
console.error(e);
value.stopped = true;
}
});
})
} else if (value.stopped && value.engine) {
value.engine.stopRenderLoop();
console.error("Stopping game...");
}
});
})

12 changes: 11 additions & 1 deletion vite.config.js → vite.config.client.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
import { defineConfig } from 'vite';

export default defineConfig({
// ...vite configures
build: {
rollupOptions: {
input: {
client: '/index.html'
},
output: {
format: 'es',
dir: 'dist/client'
}
},
},
server: {
// vite server configs, for details see [vite doc](https://vitejs.dev/config/#server-host)
port: 3000
Expand Down
29 changes: 29 additions & 0 deletions vite.config.server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { defineConfig } from 'vite';

function manualChunks(id) {
return 'server';
}

export default defineConfig({
publicDir: false,
build: {
rollupOptions: {
input: {
server: '/server.ts'
},
output: {
manualChunks: manualChunks,
format: 'es',
dir: 'dist/server'
}
},
},
server: {
// vite server configs, for details see [vite doc](https://vitejs.dev/config/#server-host)
port: 3000
},
plugins: [],
optimizeDeps: {

},
});

0 comments on commit 958221a

Please sign in to comment.