这里记录Cesium开发中,使用requireJS遇到的一个问题,代码段如下:
var developMode = false; if (developMode) { require.config({ baseUrl: '../../Source' }); } else { require.config({ paths: { 'Cesium': '../../Build/Cesium/Cesium' }, shim: { Cesium: { exports: 'Cesium' } } }); } if (typeof Cesium !== "undefined"&&onload!==null) { console.log('Cesium is exist!'); console.log(onload); onload(Cesium); } else if (typeof require === "function") { console.log(require); require(["Cesium"],onload); console.log('Cesium is not exist,so we create it!'); console.log(onload); }
代码中onload是一个方法,该方法用于加载Cesium,定义如下:
function onload(Cesium) { default_1();//这是另外一个js文件定义的默认加载方法。 }
onload的定义在html页面的末端,所以如果将requirejs放在html的title标签下,将会出现找不到onload方法的问题,所以最好将requireJS放在html的最后面,问题得到解决。