Back to Babylon Js

create-babylonjs

packages/public/create-babylonjs/readme.md

9.5.23.5 KB
Original Source

create-babylonjs

Scaffold a new Babylon.js project in seconds.

bash
npm create babylonjs

What it does

The CLI walks you through a few choices and generates a ready-to-run project:

PromptOptions
Project nameAny name (defaults to my-babylonjs-app)
Module formatES6 (@babylonjs/core — tree-shakeable) or UMD (babylonjs — global BABYLON namespace)
LanguageTypeScript or JavaScript
BundlerVite, Webpack, Rollup, or None (CDN script tags only — UMD only)

Generated project

Every project includes:

  • A starter scene that loads a glTF model with environment lighting
  • Demonstrates SceneLoader.AppendAsync, createDefaultCamera, and createDefaultEnvironment
  • Proper side-effect imports for tree-shaken ES6 builds (glTF loader, env texture loader, PBR material, etc.)
  • Resize handling and render loop

ES6 template

Uses tree-shakeable imports from @babylonjs/core and @babylonjs/loaders:

ts
import { Engine } from "@babylonjs/core/Engines/engine";
import { Scene } from "@babylonjs/core/scene";
import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader";
import "@babylonjs/core/Helpers/sceneHelpers";
import "@babylonjs/loaders/glTF";
// ...

UMD template

Uses the babylonjs and babylonjs-loaders packages with the global BABYLON namespace:

ts
import * as BABYLON from "babylonjs";
import "babylonjs-loaders";
// ...

CDN-only template (no bundler)

A single index.html with <script> tags — no npm install required:

html
<script src="https://cdn.babylonjs.com/babylon.js"></script>
<script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>

Bundler configurations

BundlerConfig fileDev server
Vitevite.config.ts / vite.config.jsnpm run dev
Webpackwebpack.config.jsnpm run dev (webpack-dev-server)
Rolluprollup.config.mjsnpm run dev (rollup -c -w with livereload)
NoneOpen index.html in browser

Production build

All bundler-based templates include a build:prod script that creates an optimized production bundle:

bash
npm run build:prod
BundlerOutputPreview
Vitedist/npm run preview
Webpackdist/Serve dist/ with any static server
Rollupdist/bundle.jsOpen index.html which references dist/bundle.js

Deploy the contents of dist/ (or the project root for Rollup) to any static hosting provider.

Quick start

bash
npm create babylonjs
cd my-babylonjs-app
npm install
npm run dev

When you are ready to deploy:

bash
npm run build:prod

License

Apache-2.0