cesium编程中级(二)源码编译
有些情况下,比如我们自己从Github下载了最新的代码,或者自己临时修改了一点代码,想要编译后的Build文件夹的内容,需要自行编译源码,这里介绍一下编译的方法
下载源码之后,可以发现根目录存在一个gulpfile.js文件,编译源码就是使用 gulp
编译的成果有四部分,
– 生成Apps文件夹,包括helloworld程序和沙盒Sandcastle
– 编译后的部署环境下的Cesium文件夹
– 编译后的调试环境下的Cesium文件夹
– API文档
- 解压,或者git clone源码之后,先执行
cnpm install
下载依赖包
> cnpm安装请看cesium编程入门(二)环境搭建 - 安装gulp,(-g 表示全局安装,可选)
cnpm install gulp -g //生成文档需要 cnpm install jsdoc -g
- 执行命令
- 生成Apps文件夹
gulp buildApps
这里会在Build下生成Apps文件夹,内容包括helloworld程序和沙盒Sandcastle
- 部署环境下的Cesium文件夹
gulp minifyRelease
这里会在Build下生成Cesium文件夹
说明:如果是git clone的,这一步没问题,如果是下载的官方包,这一步会报错
[16:37:12] Error: ENOENT: no such file or directory, open 'D:\tt\Cesium-1.40\Apps\.jshintrc' [16:37:12] Error: ENOENT: no such file or directory, open 'D:\tt\Cesium-1.40\Apps\Sandcastle\.jshintrc'
这里需要从github上将这两个文件下载并放到相应位置Apps.jshintrc,Apps\Sandcastle.jshintrc
改名时如果遇到问题,就打开cmd执行类似命令copy .jshintrc.txt .jshintrc
- 调试环境下的Cesium文件夹
gulp
- API文档
jsdoc -c Tools/jsdoc/conf.json -d Build/Document
>需要从github上下载Tools文件夹 地址
- 生成Apps文件夹
- 更简单的获取最新版本Cesium的方法
cnpm install cesium
源码1.70 及以上无法编译的问题
报错 “No gulpfile found”
解决:将 gulpfile.cjs 改成 gulpfile.js
接着执行 gulp 报错 ” Error: ENOENT: no such file or directory, open ‘Apps.jshintrc’ “
解决:去官方git目录下对应文件下载,放到对应目录
接着执行 gulp 报错 ” Error: ENOENT: no such file or directory, open ‘Apps\Sandcastle.jshintrc’ “
解决: 同上一条
执行
gulp // 默认编译 build/CesiumUnminified
gulp minify // 编译 build/Cesium
ps: 如果报错”require is not defined” 可以尝试将node版本降到 12.12 再编译
请问报这个错应该怎么处理呢,这个文件是有的,Error: Command failed: npx tsc -p Tools/jsdoc/tsconfig.json
请问什么情况下需要自行编译源码?自己修改了代码的内容,只能在本地引用的时候,可以实现想要的,可是生产环境还是会下载官网的代码放在node-modules里面。
如果用的tomcat服务器发布,我直接拷贝文件夹应该也可以吧
可以