簡體   English   中英

在玉視圖上獲取'語法錯誤'

[英]Getting 'Syntax Error' on jade view

我正在嘗試一個簡單的聊天應用程序使用簡單的玉視圖引擎與快遞。 當我運行我的應用程序時,我在下面的視圖代碼上遇到語法錯誤。 但它就這么簡單。

    extends layout
    block scripts
      script(type='text/javascript', src='/socket.io/socket.io.js')
      script(type='text/javascript')
        var socket = io.connect('http://localhost:8080');
        socket.on('chat', function(data) {
          document.getElementById('chat').innerHTML = '<p><b>' + data.title + '</b>: ' +   data.contents + '</p>';
        });

        var submitChat = function(form) {
          socket.emit('chat', {text: form.chat.value});
          return false;
        };
    block content
     div#chat
      form(onsubmit='return submitChat(this);')
        input#chat(name='chat', type='text')
        input(type='submit', value='Send Chat')

我收到了這個錯誤:

SyntaxError: views/chat.jade:9 
7| document.getElementById('chat').innerHTML = 
8| '<p><b>' + data.title + '</b>: ' + data.contents + '</p>'; > 
9| }); 
10| var submitChat = function(form) { 
11| socket.emit('chat', {text: form.chat.value}); 
12| return false; 
Unexpected token ; at Function (<anonymous>) at assertExpression 

好像你錯過了一個簡單的 ,請參閱Jade Reference

例如:

script(type='text/javascript')
  var socket = io.connect('http://localhost:8080');

會給

<script type="text/javascript">
  <var>socket = io.connect('http://localhost:8080');</var>
</script>

並且您得到了Unexpected token錯誤。

script(type='text/javascript').
    var socket = io.connect('http://localhost:8080');

為了向您展示示例中的差異,上面的代碼將給出:

<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
  var socket = io.connect('http://localhost:8080');
</script>

所以你的代碼應該是這樣的:

extends layout
block scripts
  script(type='text/javascript', src='/socket.io/socket.io.js')
  script(type='text/javascript').
    var socket = io.connect('http://localhost:8080');
    socket.on('chat', function(data) {
      document.getElementById('chat').innerHTML = '<p><b>' + data.title + '</b>: ' +   data.contents + '</p>';
    });

    var submitChat = function(form) {
      socket.emit('chat', {text: form.chat.value});
      return false;
    };
block content
 div#chat
  form(onsubmit='return submitChat(this);')
    input#chat(name='chat', type='text')
    input(type='submit', value='Send Chat')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM