Я получаю вышеуказанную ошибку только в IE. строка, которая выдает ошибку, по-видимому
element.setAttribute('data-view', viewId);
в viewEngine.js
createView: function(viewId) {
var that = this;
var requirePath = this.convertViewIdToRequirePath(viewId);
var existing = this.tryGetViewFromCache(requirePath);
if (existing) {
return system.defer(function(dfd) {
dfd.resolve(existing.cloneNode(true));
}).promise();
}
return system.defer(function(dfd) {
system.acquire(requirePath).then(function(markup) {
var element = that.processMarkup(markup);
element.setAttribute('data-view', viewId);
that.putViewInCache(requirePath, element);
dfd.resolve(element.cloneNode(true));
}).fail(function(err) {
that.createFallbackView(viewId, requirePath, err).then(function(element) {
element.setAttribute('data-view', viewId);
that.cache[requirePath] = element;
dfd.resolve(element.cloneNode(true));
});
});
}).promise();
},
редактировать: я сузил его до ошибки, возникающей между активацией () и привязкой () в жизненном цикле. Хотя не уверен, что это поможет.
edit2: после дальнейшего исследования я обнаружил, что processMarkup (разметка) не возвращает HtmlDivElement, как должен, и обычно делает это для всех других модулей...