web-dev-qa-db-fra.com

Jeton inattendu de Jade "retrait"

J'essaie de lancer sparkleshare-dashboard, qui est une source ouverte. Jusqu'ici, j'ai eu beaucoup d'erreurs parce que je n'ai aucune familiarité avec la technologie utilisée. Ainsi, cette fois-ci, lorsque je lance app.js à partir de la commande Invite utilisant la commande de noeud, j’ai eu cette erreur.

Warning: missing space before text for line 20 of jade file "D:\Imports\sparkles
    hare-dashboard/views/createFirstUser.jade"
    Error: D:\Imports\sparkleshare-dashboard/views/createFirstUser.jade:21
        19|   script(type="text/javascript")
        20|     $("#login").focus(function()

 {
  > 21|       $("#loginlabel").fadeOut();
    22|     });
    23|     $("#login").blur(function() {
    24|       if ($("#login").val().length == 0) {

unexpected token "indent"
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:229:15)
    at Parser.block (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\par
ser.js:689:25)
    at Parser.tag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\parse
r.js:806:26)
    at Parser.parseTag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\
parser.js:719:17)
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:188:21)
    at Parser.block (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\par
ser.js:689:25)
    at Parser.tag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\parse
r.js:806:26)
    at Parser.parseTag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\
parser.js:719:17)
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:188:21)
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:227:21)
13
umerk44

Vous avez une erreur de syntaxe dans votre code, vous avez simplement manqué un point et cela provoque une autre erreur, voir mon exemple corrigé à la fin:

script(type="text/javascript")
    $("#login").focus(function(){
      $("#loginlabel").fadeOut();
    });

invitera une erreur Unexpected token "indent". Parce que Jade voit dans votre $("#loginlabel").fadeOut(); une autre ligne de code et que cette ligne a, pour Jade, une indentation erronée. 

Généralement, ces erreurs "indent" pointent toujours, en fin de compte, vers une indentation erronée.

Donc, pour vous débarrasser de cette erreur, ajoutez simplement un point à la fin de la balise script et précisez qu’il s’agit d’un trou faisant partie du code Jade suivant, comme suit: 

script(type="text/javascript").
    $("#login").focus(function() {
    $("#loginlabel").fadeOut();
    });

Ceci (voir ce point) vous donnera la sortie HTML suivante:

<script type="text/javascript">
  $("#login").focus(function() {
    $("#loginlabel").fadeOut();
  });
</script>
16
ztirom

La syntaxe correcte est la suivante:

script.
  document.location = "https://google.com"
0
Dorian