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. 查看私有文档
相关推荐
成熟的API调用专家19 小时前
Cesium 中 Entity Polyline 的完整属性指南
cesium
成熟的API调用专家2 天前
cesium entity point 属性概览
cesium
striveLei5 天前
Cesium 自定义深色(各种颜色)地图特效
cesium
GDAL5 天前
Cesium入门教程(二)环境搭建(HTML版)
html·cesium
艾欧泽亚白魔法师10 天前
Cesium虚线圆
cesium
青山Coding15 天前
Cesium应用(三):全球气压可视化与气象时序图实现方案
前端·gis·cesium
不浪brown15 天前
开源!让二维变成三维立体雷达,提升项目的颜值
cesium
孪创启航营16 天前
数字孪生二维热力图制作,看这篇文章就够了!
前端·three.js·cesium
不浪brown17 天前
用Cesium打造沉浸式雨天涟漪的真实感!
cesium
不浪brown19 天前
开源!3D带地形的区域地图,原来用Cesium几行代码就搞定了!(附源码)
cesium