在jade中运行javascript文件

在jade中运行javascript文件,javascript,node.js,express,pug,Javascript,Node.js,Express,Pug,我有一个Jade文件,每次访问Jade页面时都要运行一个Javascript文件。如何将Javascript文件放入Jade文件中,以便在打开时运行 我的代码当前为: doctype html html head title= title body h2 Bus Driver Location script(type= "text/javascript" src='/../public/javascripts/geoloc.js')

我有一个Jade文件,每次访问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”输出到我的控制台吗?非常感谢您提供的任何帮助、意见或建议。

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

/public/javascript/geoloc.js

相反,日志行中GET请求旁边的404表示找不到该文件。要修复此问题,请确保在express配置中将/public声明为静态文件目录。可以通过添加以下行来完成此操作:

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

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

如果脚本正确,路径是什么?try/public/javascript/geoloc.js onlyI添加了
app.use(express.static(path.join('public'));app.use(“/public”,express.static(uu dirname+”/path/to/public))到我的代码(最上面的一行预先存在于我的express配置中)。我尝试将文件引用为/public/javascript/geoloc.js,但
console.log(“works”)
仍然没有输出任何内容到我的终端/path/to/public部分是为了让您替换为公共目录的实际路径。现在,app.use(express.static(path.join(uu dirname,'public'));行表示您已经将公用目录中的所有内容映射到应用程序的/path,因此如果您转到(完全跳过公用目录),您应该能够看到您正在查找的脚本(前提是您在端口8080上运行应用程序)