Het parsen van Javascript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donny Wie weet

Donny Wie weet

10/09/2015 23:43:55
Quote Anchor link
Hey allemaal,

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?
 
PHP hulp

PHP hulp

27/11/2024 23:48:27
 
DavY -

DavY -

10/09/2015 23:46:03
Quote Anchor link
Post je error eens.
 
Donny Wie weet

Donny Wie weet

10/09/2015 23:48:58
Quote Anchor link
Uncaught ReferenceError: product is not defined


Nou denk ik zelf dat de parse volgorde verkeerd gaat...
 
DavY -

DavY -

10/09/2015 23:57:34
Quote Anchor link
Probeer dan in de juiste volgorde te zetten en kijk dan nog eens of je hetzelfde error krijgt.
 
Donny Wie weet

Donny Wie weet

11/09/2015 00:01:40
Quote Anchor link
Damn, dan hebben we het over 20 bestanden :P

Ik dacht dat javascript eerst alles initialiseerde voordat het uitgevoerd werd
 
Thom nvt

Thom nvt

11/09/2015 08:23:39
Quote Anchor link
JavaScript debuggen is meestal een bewerkelijk klusje, hoewel het makkelijker is geworden met dingen als de chrome debugger en FireBug.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
....
product.naam = "test123";
console.log(product);
.....
var product = [];
....
 
Thomas van den Heuvel

Thomas van den Heuvel

11/09/2015 15:01:16
Quote Anchor link
Al geprobeerd om alles een keer te voeren aan JSLint.com?

kan ook JSON valideren
Gewijzigd op 11/09/2015 15:03:43 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.