我正在尝试构建一个dojo应用程序并遇到一个我似乎无法解决的错误。
应用程序在未构建错误的情况下运行,我正在尝试使用Dojo Build System将文件优化为一层。
该错误与以下导入有关:
define([
'plugins/async!//maps.google.com/maps/api/js?v=3'
//...
错误是
error(308) Failed to evaluate AMD define function.
module: gis/dijit/StreetView; text:
'gis/plugins/async!
error: SyntaxError: Unexpected token ILLEGAL
error(352) Optimizer reported errors; consult build report for details.
async插件看起来像这样:
define(function () {
var cb = '_asyncApiLoaderCallback';
return {
load: function (param, req, loadCallback) {
if (!cb) {
return;
} else {
window.dojoConfig[cb] = function () {
delete window.dojoConfig[cb];
cb = null;
loadCallback();
};
require([param + '&callback=dojoConfig.' + cb]);
}
}
};
});
答案 0 :(得分:0)
这个问题的解决方案是从bower / npm切换到谷歌地图加载器。
https://github.com/Carrooi/Js-GoogleMapsLoader
dojo构建系统似乎将路径中的//视为注释,这会产生类似
的路径'my/plugin!http://www.google.com'
显示为
'my/plugin!http:
这会导致错误,因为//之后的所有内容现在都是注释而且没有撇号。此外,www.google.com的路径显然已丢失。