cesium-webpack-example
A minimal recommended setup for an applications using Cesium with Webpack.
Running this application
npm install
npm start
Navigate to localhost:8080
.
Available scripts
npm start
- Runs a webpack build withwebpack.config.js
and starts a development servernpm run build
- Runs a webpack build withwebpack.config.js
npm run release
- Runs an optimized webpack build withwebpack.release.config.js
npm run serve-release
- Runs an optimized webpack build withwebpack.release.config.js
and starts a development server
Configurations
We've included two webpack configuration files in this repository. webpack.config.js
contains configuration for development while webpack.release.config.js
contains an optimized configuration for production use.
Requiring Cesium in your application
We recommend using Cesium as an ES6 module, via the import
keyword.
Import named modules from Cesium
import { Color } from 'cesium';
var c = Color.fromRandom();
Import Cesium static asset files
import "cesium/Build/Cesium/Widgets/widgets.css";
Treeshaking
webpack.release.config.js
enables tree-shaking of CesiumJS modules so that unused modules are not included in the production bundle. See Webpack's Tree Shaking documentation for more details.
Removing pragmas
To remove pragmas such as a traditional Cesium release build, use the strip-pragma-loader
.
Install the plugin with npm,
npm install strip-pragma-loader --save-dev
and include the loader in module.rules
with debug
set to false
.
rules: [{
test: /\.js$/,
enforce: 'pre',
include: path.resolve(__dirname, cesiumSource),
use: [{
loader: 'strip-pragma-loader',
options: {
pragmas: {
debug: false
}
}
}]
}]
Contributions
Pull requests are appreciated. Please use the same Contributor License Agreement (CLA) used for Cesium.
Developed by the Cesium team.