2013-07-30 11 views
13

Mam uruchomioną aplikację Express i otrzymuję komunikat JS_Parse_Error. Nie rozumiem dlaczego. Zasadniczo skomentowałem cały nowy kod, który napisałem, ale wciąż dostaję błąd. Czy istnieje sposób, aby dowiedzieć się, co linia JavaScript daje mi błąd?Jak znaleźć źródło JS_Parse_Error?

Error 
    at new JS_Parse_Error (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:196:18) 
    at js_error (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:204:11) 
    at croak (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:636:9) 
    at token_error (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:644:9) 
    at expect_token (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:657:9) 
    at expect (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:660:36) 
    at expr_atom (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:1112:17) 
    at maybe_unary (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:1287:19) 
    at expr_ops (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:1322:24) 
    at maybe_conditional (/home/charlie/Projects/chat/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js:1327:20) 
+1

Czy możesz umieścić odpowiedni kod wraz ze spacją stosu? –

+0

Problem polega na tym, że nie jestem pewien, jaki jest odpowiedni kod. Mam 5 plików JavaScript. Nawet gdy usunę wszystkie z nich, nadal otrzymuję błąd. Czy istnieje sposób na wskazanie, który plik daje mi błąd? – egidra

+0

Jestem prawie pewny, że jest więcej informacji na temat 'JS_Parse_Error' o przyczynie. Możesz to zdobyć? – Bergi

Odpowiedz

4

To może nie być odpowiednie dla ciebie więcej, ale mam ten sam komunikat o błędzie - który nie jest tak gadatliwy muszę powiedzieć - A mój problem był przecinek brakuje.

Wskazówka brakuje przecinek przed NG-koncert ...

.container(itemscope, itemtype='http://schema.org/Person' ng-show='user') 
    .row 
1

miałem ten sam problem z tablicą par klucz/wartość.

Mój kod wyglądał tak:

- var links = {stack-overflow: "//stackoverflow.com/users/2479481/"} 

Najwyraźniej nie można używać myślników w kluczy bez owijania klucz w cudzysłowach.

Tak więc, aby rozwiązać ten problem, można wykonać jedną

- var links = {"stack-overflow": "//stackoverflow.com/users/2479481/"} 

lub

- var links = {stackoverflow: "//stackoverflow.com/users/2479481/"} 
0

w moim przypadku była to para nawiasów klamrowych, które musiały być usunięte:

AlertService.success(alertKey, 
    param1 
); 

Zamiast

AlertService.success(alertKey, { 
    param1 
}); 

Szkoda że zeszpecić-js czasami nie wskazać, gdzie problem jest ...

+0

Bo to jest właściwie poprawny JS. '{someVar}' jest równoważne '{" someVar ": someVar}'.Ale Uglify tego nie rozumie (lub nie w tej chwili). Sprawdza kod "hej, to jest poprawny JS, przemieńmy", ale kiedy to osiągnie, eksploduje. – Kroltan

0

Inną rzeczą, która może być problem (co było problemem w moim przypadku) są wyrażenia regularne. Upewnij się, że tworzenie regex jak ten nowego RegExp ("/ [^] +/g") zamiast /[^] +/g

Również użyć var ​​zamiast let.

Nadzieja pomaga to ktoś,

wersja zeszpecić-js 1.2.6

0

W moim przypadku był następujący kod powoduje problem

loc8rData.locationByCoords(lat, lng) 
    .then(
     response => { 
      vm.message = response.data.length > 0 ? "" : "No locations found"; 
      vm.data = { locations: response.data }; 
     }, 
     e => { 
      vm.message = "Sorry, something's gone wrong "; 
      console.log(e); 
     } 
    ); 

dokładnie punkt stykowy, zeszpecić nie mógł zanalizować "=>" .

0

Otrzymałem ten błąd, gdy próbowałem użyć obiektu krótkiej notacji strony.

+0

Mimo, że pierwsze pytanie, po prostu dodanie mojej sprawy tutaj, aby ktoś inny utknął na tym może rozważyć tę sprawę. – Sachin

Powiązane problemy