2016-03-18 15 views
0

我有一個Jade文件,並且每次訪問玉頁時都想運行一個Javascript文件。如何在Jade文件中放入Javascript文件,以便它在打開時運行?在玉石內運行一個javascript文件

我的代碼是目前:

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"); 

現在,當我訪問該網頁,我希望「作品「在我的終端輸出,但它不。我還認爲我的計算機正在訪問「geoloc.js」,因爲在我的終端中,當我進入Jade文件時,它顯示「GET /public/javascripts/geoloc.js 404 65.040 ms - 1245」。

有誰知道爲什麼Javascript文件沒有運行並輸出「Works」到我的控制檯?任何幫助,意見或建議非常感謝。

+0

的路徑,如果腳本是正確的?嘗試/public/javascript/geoloc.js只有 –

回答

0

在快遞,如公共文件夾是靜態的路徑,正確的應該是:

/public/javascript/geoloc.js 

相反/../public/javascripts/geoloc.js

0

404旁邊在你的日誌行的GET請求,表示該文件WASN」找到了。要解決這個問題,請確保您在Express配置中聲明瞭/ public作爲靜態文件目錄。你可以通過添加以下行:

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

,然後你可以參考你的文件在玉石爲/public/javascript/geoloc.js

+0

我添加了'app.use(express.static(path.join(__ dirname,'public'))); app.use(「/ public」,express.static(__ dirname +'/ path/to/public'));'給我的代碼(最上面一行是在我的快速配置中預先存在的)。而我試圖將該文件引用爲/public/javascript/geoloc.js,而仍然是'console.log(「works」)'不會向我的終端輸出任何東西 – namore

+0

/path/to/public部分是爲了你用公共目錄的實際路徑替換。現在,app.use(express.static(path.join(__ dirname,'public')));這意味着您已經將公共目錄中的所有內容映射到應用程序的/路徑,因此如果轉到http:// localhost:8080/javascripts/geoloc.js(完全跳過公共),您應該能夠看到您正在查找的腳本(只要您在端口8080上運行您的應用程序) – ruedamanuel