cesium-1.92源码编译

下载cesium源码

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服务

执行编译代码

  1. 编译前注意要 npm i ,以及 全局安装 glup
js 复制代码
npm i
npm i gulp -g

否则会报错:

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

将 gulpfile.cjs 改为 gulpfile.js

  1. 再编译,报错:ReferenceError: require is not defined

原因是 package.json中 添加了"type":"module",将该字段删除

  1. 再编译,报错:Error: ENOENT: no such file or directory, open 'Apps.jshintrc'

下载放到相应的目录

Apps/.jshintrc

Apps/Sandcastle/.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"
    ]
  }
  1. 再次编译,报错:Error: Command failed: npx jsdoc --configure Tools/jsdoc/ts-conf.json

从github下载Tools放到根目录下。

  1. 编译成功

运行项目

编译完成后,拷贝编译好的 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目录下。

查看私有文档

  1. 把文件中的@private换成@public
  2. npm start 启动服务
  3. 选择文档
  1. 查看私有文档
相关推荐
1H1R1M30 分钟前
同步绘制视锥几何体和实际相机视锥体
前端·javascript·cesium
青山Coding4 小时前
Cesium应用(一):解决 Cesium 海量船舶轨迹点渲染难题:轨迹数据池方案实践
gis·cesium
allenjiao1 天前
Cesium粒子系统模拟风场动态效果
javascript·arcgis·gis·webgl·cesium·三维·风场
GIS瞧葩菜5 天前
Cesium 中拾取 3DTiles 交点坐标
前端·javascript·cesium
刘小筛5 天前
Cesium视锥和航向角,终于被我玩明白了。纯干货,全程无废话。
cesium
不浪brown7 天前
丝滑!Cesium中实现机械模型动作仿真全流程
cesium
duansamve10 天前
Cesium性能优化
cesium
一梦、んんん10 天前
cesium FBO(一)渲染到纹理(RTT)
cesium
青山Coding10 天前
Cesium基础(七):Camera(相机)常用的API及飞行漫游
gis·cesium