Het parsen van Javascript
Ik zit met een klein issue: het parsen van mn javascript. Om mn applicatie overzichtelijk te houden, heb ik een js directory waarin "snippets" staan. Deze worden samengevoegd. Even als voorbeeld en tevens in de volgorde waarin ik het heb staan:
config.js - Configuratie voor een website
custom.js - Kleine code regeltjes van bijvoorbeeld max 5 regels, denk hierbij aan click handlers
function.js - Alle functies die mn applicatie draait: function(){ }
live-search.js - Keyup functie met nog een kleine 200 regels aan code
menu.js - Hovers, clicks en dergelijke
Nou word alles geparsed en krijg ik een error dat er een var niet is gedefinieerd. Kan het komen omdat de bestanden in een andere volgorde geparst moeten worden dan dat hierboven staat, dus eerst de functions.js, daarna live-search etc etc?
Post je error eens.
Nou denk ik zelf dat de parse volgorde verkeerd gaat...
Probeer dan in de juiste volgorde te zetten en kijk dan nog eens of je hetzelfde error krijgt.
Ik dacht dat javascript eerst alles initialiseerde voordat het uitgevoerd werd
Je zegt dat al je scripts worden samengevoegd. Dat maakt het zoeken helaas niet makkelijker.
De beste manier om dit op te lossen (in mijn optiek) is als volgt:
Open je chrome debugger/FireBug, deze geeft als het goed is een scriptnaam en regel bij de error.
Zoek deze regel op in het samengevoegde script (In chrome kun je op het linkje rechts van de error klikken; bestand.js:regelnr)
Zoek vervolgens terug in je script en kijk of de volgorde enigzins overeenkomt met wat je verwacht.
Kijk goed of de variabele bijv. niet pas verderop word gedefinieerd.
Javascript laadt (initialiseert) eerst alle code en voert deze vervolgens linear (dus achter elkaar) uit.
Waarschijnlijk heb je dus zoiets staan na het samenvoegen: