Вы смешиваете AMD и синтаксис модуля старого стиля.Новый стиль AMD require
не создаст глобальную переменную для вашего пространства имен, как это делал старый dojo.require
.
Перепишите код, чтобы полностью использовать новый стиль AMD.или удалите флаг async=true
, который вы добавили при загрузке dojo, чтобы снова включить поддержку старого стиля модуля.
В любом случае, это не должно быть сложно переписать это в стиле AMD ...
require([
'dojo/_base/json', //_base is for things that used to be in the root dojo namespace.
'dojox/socket'
],function(
json,
dojox_socket
){
var socket = dojox_socket( "/cometd" );
function send( data ) {
return socket.send( json.toJson( data ) );
}
// and so on...
});
(Кстати, вы также можете удалить флаг "parseOnLoad", если вы не используете никаких декларативных виджетов в своем оригинальном html)