2017-02-20 156 views
0

我已經用快速生成器構建了一個新應用程序,所以我已經爲公共目錄提供了javascripts,我猜想它是針對客戶端的。但我無法訪問這些文件。 我app.js有一個絕對路徑在express.js中包含客戶端js

app.use(express.static(path.join(__dirname, 'public'))); 

但是當我把我的index.html頁面上對身體的底部這樣

<script type="text/javascript" src="/javascripts/main.js"> 

我有一個內部錯誤控制檯與404關於這個腳本。

+0

而'public/javascripts/main.js'存在嗎? – robertklep

+0

是的。這個所有目錄創建快遞發電機 – ddeadlink

+0

我創建了一個快遞發電機項目,它對我來說工作得很好。您是否更改了可能導致路由中斷的創建應用的任何部分?另外,我假設你正在運行服務器(而不是直接通過文件系統)請求'index.html'。 – robertklep

回答

0

我正在開發類似的東西。我有我的JavaScript文件在公用文件夾中的js文件夾。這是我的鏈接,javascript和我沒有得到任何錯誤:

<script src="js/options.js"></script> 

我認爲你需要刪除一個共同的斜線在「SRC」標籤或正確地關閉「腳本」

+0

不適合我。應該有一個想法,爲什麼他們爲所有這些創建公共目錄 – ddeadlink

1

您需要安裝鐵筆和筆尖npm模塊

var express = require('express') 
    , stylus = require('stylus') 
    , nib = require('nib') 

    function compile(str, path) { 
    return stylus(str) 
    .set('filename', path) 
    .use(nib()) 
} 

app.use(stylus.middleware(
    { src: __dirname + '/public' 
    , compile: compile 
    } 
)) 
app.use(express.static(__dirname + '/public'))