Dojo 构建系统 - 使用带有 google 映射 api 的异步插件

Dojo Build System - using async plugin with google maps api

我正在尝试构建一个 dojo 应用程序,但遇到一个我似乎无法修复的错误。

应用程序在未构建时运行没有错误,我正在尝试使用 Dojo 构建系统将文件优化为一层。

错误与以下导入有关:

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.

异步插件看起来像这样:

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]);
        }
    }
};
});

此问题的解决方案是从 bower/npm 切换到 google 地图加载器。

https://github.com/Carrooi/Js-GoogleMapsLoader

dojo 构建系统似乎将路径中的 // 视为注释,这使得路径类似于

'my/plugin!http://www.google.com'

显示为

'my/plugin!http:

这会导致错误,因为 // 之后的所有内容现在都是注释并且没有撇号。此外,路径 www.google.com 显然丢失了。