Em um aplicativo que estou depurando, um desenvolvedor anterior parece estar confiando no underscore.js para fazer algumas coisas.
Eu permaneço intermitentemente recebendo erros "_é indefinido" no console do meu navegador, impedindo que partes do aplicativo sejam executadas corretamente.
A biblioteca de sublinhado, eventualmente, parece carregar, desde que eu sou capaz de fazer console.log(_)
no meu navegador e obter um objeto gigante, como resultado, uma vez que a página foi totalmente carregada.
Minha pergunta é a seguinte: existe uma maneira preferida de agrupar funções que dependem de sublinhado? (Em outras palavras, os desenvolvedores de sublinhado costumam usar algo semelhante à antiga prática de envolver um monte de lógica dentro $(function(){...})
a fim de se certificar de que ele é executado após o carregamento do jQuery?)
Respostas:
0 para resposta № 1Este script é mais próximo do que você está procurando? Eu usei o carregador de scripts de Aqui
Ele carrega a lista de scripts fornecida e fornece um identificador de retorno de chamada no qual você pode chamar as funções js dependentes
<html>
<head>
<script type="text/javascript">
function loadScripts(array, callback) {
var loader = function(src, handler) {
var script = document.createElement("script");
script.src = src;
script.onload = script.onreadystatechange = function() {
script.onreadystatechange = script.onload = null;
handler();
}
var head = document.getElementsByTagName("head")[0];
(head || document.body).appendChild(script);
};
(function run() {
if (array.length != 0) {
loader(array.shift(), run);
} else {
callback && callback();
}
})();
}
loadScripts([
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"
], function() {
console.log(_);
var arr = ["jQuery", "underscore", "jasmine"];
_.each(arr, (val) => {
console.log(val);
});
});
</script>
</head>
<body>
</body>
</html>