button单击Jade没有脚本标记

我看到这个代码button点击翡翠

button(onclick=foo) script(foo(){alert('foo');}) 

我不想要任何脚本标记或任何JavaScript代码在我的呈现页面。如何可以如何使任何button点击翡翠从express或node.js文件?

你可以使用内联的JavaScript:

 button(onClick="javascript:alert('foo')") 

但是,这并不是最佳select,使用脚本标记/外部脚本可以使您的代码更易读,更易于debugging。

但是,您不能使用任何JavaScript的onclick事件。 如果你的约束是'没有JS',你不能有一个单击alertalert也是一个JavaScript函数)

如果您希望尽可能分离关注点,则可以将JS代码放在单独的.js文件中,但是仍然需要将该文件包含在渲染页面中。

编辑:服务器/客户端交互的解释:

在Node / Express中创build服务器时,您将从模板生成资源(html页面)。 这一代,以及当用户到达您的网站内的路线时,做什么都由服务器处理。

服务器“服务”源代码页(通过点击“查看源代码”给客户端看到的文档,然后解释它。

如果浏览器看到Javascript代码,它知道如何阅读它,并将添加您已经放置在代码中的所有事件,警报等。 它将能够处理这些交互。 在这种情况下,您的button事件与Node / Express无关

TL; DR:服务器只发送源代码给客户,负责阅读并解释它。