node.js jade模板失败

时间:2014-01-19 14:54:41

标签: node.js pug

我在node.js书中练习一些jade代码。 但它失败了。带有错误信息。我检查了语法,发现没有拼写错误。 有人能给我一个提示吗?非常感谢。

SyntaxError: /var/lib/stickshift/52d92cbee0b8cdfa010000ca/app-
root/data/743166/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

(适用layout.jade)

doctype html
    html(lang='en')
        head
            title My Web Site
            block scripts

(适用chat.jade)

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')

1 个答案:

答案 0 :(得分:1)

在标记的末尾添加.以将其内容声明为文本而不是jade标记。这样您就可以在脚本标记内编写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>';
    });