下载cesium源码
Cesium 官方包主要目录介绍
- Apps/SampleData目录:示例数据目录
- Apps/Sandcastle目录:官方示例目录
- Build/Cesium目录:压缩好的cesium库,项目中主要使用的
- Build/CesiumUnminified目录:未压缩的cesium库,可用于项目调试
- Build/Documentation/目录:API文档目录
- Source目录:Cesium源码
- ThirdParty目录:外部依赖库,不同于Cesium的第三方库
- index.html:导航首页
- server.cjs:基于node.js的web服务
执行编译代码
- 编译前注意要
npm i
,以及 全局安装 glup:
js
npm i
npm i gulp -g
否则会报错:

- 由于编译过程占用磁盘、CPU和内存都很高,接近100%,所以,编译前先将360安全卫士、360杀毒软件、开发工具、数据库服务等关闭或停止服务,然后执行如下命令编译:
js
npm run release
- 报错:No gulpfile found

将 gulpfile.cjs 改为 gulpfile.js。
- 再编译,报错:ReferenceError: require is not defined
原因是 package.json中 添加了"type":"module"
,将该字段删除。

- 再编译,报错:Error: ENOENT: no such file or directory, open 'Apps.jshintrc'
下载放到相应的目录
懒得下载也可以复制以下操作:
- 1、在 Apps 文件夹下,新增
.jshintrc
文件,文件内容如下:
js
{
"bitwise": false,
"camelcase": false,
"curly": true,
"eqeqeq": true,
"forin": true,
"freeze": true,
"immed": true,
"latedef": false,
"newcap": true,
"noarg": true,
"noempty": true,
"nonbsp": true,
"nonew": true,
"plusplus": false,
"quotmark": false,
"undef": true,
"unused": "vars",
"strict": true,
"asi": false,
"boss": false,
"debug": false,
"eqnull": false,
"moz": false,
"evil": false,
"expr": false,
"funcscope": false,
"globalstrict": false,
"iterator": false,
"lastsemic": false,
"laxbreak": false,
"laxcomma": false,
"loopfunc": false,
"multistr": true,
"noyield": false,
"notypeof": false,
"proto": false,
"scripturl": false,
"shadow": false,
"sub": false,
"supernew": false,
"validthis": false,
"browser": true,
"browserify": false,
"couch": false,
"devel": true,
"dojo": false,
"jasmine": false,
"jquery": false,
"mocha": true,
"mootools": false,
"node": false,
"nonstandard": false,
"prototypejs": false,
"qunit": false,
"rhino": false,
"shelljs": false,
"worker": false,
"wsh": false,
"yui": false
}
- 2、在 Apps/Sandcastle 文件夹下,新增
.jshintrc
文件,文件内容如下:
js
{
"extends": "../.jshintrc",
"unused": false,
"esversion": 10,
"predef": [
"JSON",
"require",
"console",
"Sandcastle",
"Cesium"
]
}
- 再次编译,报错:Error: Command failed: npx jsdoc --configure Tools/jsdoc/ts-conf.json
从github下载Tools放到根目录下。

- 编译成功

运行项目
编译完成后,拷贝编译好的 Build/Cesium 文件夹到项目中使用。


注意:使用 npm run release 编译后的代码是没有 Development 模块的。想要 Development 模块需要再执行
npm run build
。之后再执行npm start
就可以看到Development 模块了。
npm start
启动服务,端口号强制为8080。
如果 8080 端口被占用,服务跑起不来。可以手动换端口,执行
node server.js --port 8081
。启动的服务只能在本机查看,如果想在局域网内其他机器上观看,执行
npm run startPublic
。
-
npm run build
在Source目录下生成了一个Cesium.js文件(索引)。 -
npm run minifyRelease
输出生产环境下的Cesium.js文件,输出目录在Build/Cesium/下。 -
npm run release
同时输出调试版的Cesium.js、生产环境下的Cesium.js和api文档。- 在Build/CesiumUnminified目录下生成调试版的Cesium.js文件;
- 在Build/Cesium目录下生成压缩优化好的(生产环境下)的Cesium.js文件;
- 并且还生成了Cesium的api文档,文档放在Build/Documentation目录下。
查看私有文档
- 把文件中的
@private
换成@public
npm start
启动服务- 选择文档

- 查看私有文档
