Другие ответы очень хорошо объяснили этот код, поэтому я просто добавлю предложение.
Это хороший пример кода, который нужно реорганизовать для простоты и ясности. Вместо использования [].forEach.call()
или Array.prototype.forEach.call()
каждый раз, когда вы это делаете, выведите из него простую функцию:
function forEach( list, callback ) {
Array.prototype.forEach.call( list, callback );
}
Теперь вы можете вызвать эту функцию вместо более сложного и неясного кода:
forEach( document.querySelectorAll('a'), function( el ) {
// whatever with the current node
});
Итак, если вы хотите использовать deployment().properties.templateLink.uri
, ваш шаблон должен быть развернут из URL, а не с локального диска.
вложенные шаблоны ВСЕГДА должны быть развернуты из URL. так что, если вы хотите использовать вышеупомянутый метод, все должно быть загружено в какое-то место, которое доступно публично (или аутентификация должна быть сделана через URL, как токен SAS).
Что я обычно делаю - запускаю простой сценарий powershell перед развертыванием, который загружает все шаблоны в общее место, после чего я просто использую функцию развертывания.