Skillnad mellan validate och publish?

  • Författare
  • Meddelande

Carlssor

sql-kodare

  • Inlägg: 53
  • Blev medlem: 22 aug 2016, 07:19

Skillnad mellan validate och publish?

Inlägg06 nov 2016, 22:39

Hej!

När jag kör dbwebb validate så får jag inga fel, däremot när jag kör dbwebb publish så klagar den på
Kod: Markera allt
WARNING uglifyjs failed: www/dbwebb-kurser/javascript1/me/kmom02/lab1/answer.js
Parse error at www/dbwebb-kurser/javascript1/me/kmom02/lab1/answer.js:831,9
SyntaxError: Unexpected token name «i», expected punc «;»


Koden i fråga är som följer, där rad 831 är for-statementet
Kod: Markera allt
result = "";
for (var i=25; i < 47; i++){
    result += "," + i;
}


Vad kan detta bero på? Koden validerar finfint i JSHint, förutom att jag deklarerat var ett par gånger...
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: Skillnad mellan validate och publish?

Inlägg06 nov 2016, 23:08

Det står att i på kolumn 9 i for-loopen (831,9) inte förväntas vara där. Det är alltså i=25 som inte bör följa var. Eller så bör var inte vara där. Försvinner felet om du tar bort var?
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11059
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Skillnad mellan validate och publish?

Inlägg07 nov 2016, 09:27

Allinreps svar är rimligt, med tanke på hur variablers scope fungerar i JavaScript.

Men, jag gjorde ett testprogram som visade att konstruktionen går igenom alla valideringsverktyg.
https://github.com/dbwebb-se/javascript ... ion/for.js

Du kan ta hem det genom att uppdatera ditt kursrepo.
Kod: Markera allt
$ dbwebb update


Pröva en gång till och se, ibland ligger det skräptecken med, ta bort mellanslaget och skriv in det igen.

Om det inte funkar, publicera och ge länken.
...
..:
.... /mos

Carlssor

sql-kodare

  • Inlägg: 53
  • Blev medlem: 22 aug 2016, 07:19

Re: Skillnad mellan validate och publish?

Inlägg10 nov 2016, 19:23

Lite märkligt det här. Om jag använder mig av let så får jag dessa felen; använder jag mig av var så klagar den på följande:
Kod: Markera allt
WARNING jshint failed: 'dbwebb-kurser/javascript1/me/kmom02/lab1/answer.js'
dbwebb-kurser/javascript1/me/kmom02/lab1/answer.js: line 854, col 10, 'i' is already defined.
dbwebb-kurser/javascript1/me/kmom02/lab1/answer.js: line 877, col 10, 'i' is already defined.


Verkar inte vilja släppa igenom koden på något sätt alls.
När jag använder let så säger förresten JSHint följande 'let' is available in ES6 (use 'esversion: 6') or Mozilla JS extensions (use moz).. Vad betyder detta?

Hur ska jag tänka här? i är ju en förträfflig iterator, borde jag använda var eller let?
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11059
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Skillnad mellan validate och publish?

Inlägg10 nov 2016, 19:37

Bara en snabb sak, om du tar bort var i for-loopen och lägger det på en rad ovanför, försvinner felet? Ungefär som Allinrep sa tidigare?
...
..:
.... /mos

Carlssor

sql-kodare

  • Inlägg: 53
  • Blev medlem: 22 aug 2016, 07:19

Re: Skillnad mellan validate och publish?

Inlägg12 nov 2016, 15:54

Tar jag bort var från for-loopen så försvinner felet. Men känns ju inte jättesnyggt att initiera i i en for-loop och sedan råka återanvända den i kommande.

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 7 gäster