将 jQuery 与 Jade 一起使用

using jQuery with Jade

我目前正在开发一个 Web 应用程序,它使用 Jade 作为模板引擎并使用 Express 将数据传递给 Jade。

假设我要传递变量 "book"

res.render('book_detail',{book: book});

我想使用 jQuery 访问书中的详细信息,例如 book.author、book.pages 等(我的前端 jQuery 位于外部 main.js 文件)而不是用 Jade 来做。我怎样才能做到这一点?

我已经尝试过其他人建议的各种方法,例如 var myBook = !{JSON.stringify(book)} 或使用脚本将其设为 javascript 变量。 Jade 中的语法,我什至不能用输出做 console.log!

请帮我解决这个问题,因为我整天都被这些问题困扰着,而且似乎很难在 Jade 和 jQuery (Javascript) 之间共享一个 express 变量。 .

试一试

- var j = 'var book = '+JSON.stringify(book)
script !{j}

window.book将在客户端可用。

在您的 Jade 文件中,您可以输入:

script.
    var book = '#{book}'
script(src='someFile.js')

现在,在 someFile.js 中,您可以像普通变量一样使用 book:

$(document).ready( function() {
    console.log(book.title);
});