The LWJGL 3 website.
The website for LWJGL is build with React. It is a single-page application with client-side routing. It installs a Service Worker in order to work offline.
There is currently no server-side rendering because of hosting constraints.
Static assets are loaded from LWJGL's CDN (AWS CloudFront).
Build status icons are loaded directly from travis-ci.org and appveyor.com.
Three.js is loaded from jsDelivr.
Install all required npm packages and build styles:
npm i
npm run build:styles
Start the server in dev mode:
npm -s start
The following flags are used for testing production builds locally. NODE_ENV environment variable must be set to "production".
--test # Enables production test mode (e.g. disables HSTS)
--nocache # Disables Pug view caching
--pretty # Pretty prints HTML
--s3proxy # Proxies S3 images
NODE_ENV="production" # default: development
PORT="8080" # default: 80
HOST="127.0.0.1" # default: 0.0.0.0
To deploy LWJGL in production please read the separate guide: DEPLOYMENT.md.
git pull
npm i
npm run release
You can run the production build locally:
npm run dev:test-production
The following debugging tips may come in handy:
minimize: false
in webpack.config.js
console.log
or debugger
by changing terserOptions
in terser-config.json
PROFILING=1
env variable to load React profiling buildsnamed
module & chunk ids in webpack.config.js
npx webpack-bundle-analyzer public/js/webpack.manifest.json -h 0.0.0.0
(for full breakdown, change to all: true
when writing webpack.manifest.json
in build-production.js)