在jade中运行javascript文件

时间:2016-03-18 14:36:38

标签: javascript node.js express pug

我有一个Jade文件,并希望每次访问玉器页面时都运行Javascript文件。如何将Javascript文件放在Jade文件中,以便它在打开时运行?

我的代码目前是:

doctype html
html
    head
        title= title
    body
        h2 Bus Driver Location
        script(type= "text/javascript" src='/../public/javascripts/geoloc.js')

然后Javascript文件“geoloc.js”如下所示:

console.log("Works");

现在,当我访问该页面时,我希望在我的终端上输出“Works”,但事实并非如此。我还认为我的计算机正在访问“geoloc.js”,因为在我的终端,当我转到Jade文件时,它说“GET /public/javascripts/geoloc.js 404 65.040 ms - 1245”。

有谁知道为什么Javascript文件没有运行并将“Works”输出到我的控制台?任何帮助,评论或建议都非常感谢。

2 个答案:

答案 0 :(得分:0)

在express中,如果公用文件夹是静态路径,则正确的是:

/public/javascript/geoloc.js

取而代之的是/../public/javascripts/geoloc.js

答案 1 :(得分:0)

日志行中GET请求旁边的404表示找不到该文件。要解决此问题,请确保您已在快速配置中将/ public声明为静态文件目录。你可以通过添加以下行来做到这一点:

app.use("/public", express.static(__dirname + '/path/to/public'));

然后你可以在jade中引用你的文件/public/javascript/geoloc.js