我是Nodejs的新手,我正在使用Express來關注Pluralsight的Nodejs課程。 我有以下代碼:訪問公用文件夾給我一個錯誤
var express = require('express');
var app = express();
var port = 5000;
app.use(express.static('public'));
app.get('/', function (req, res) {
res.send('Hello World');
});
app.get('/books', function (req, res) {
res.send('Hello Books');
});
app.listen(port, function (err) {
console.log('running server on port ' + port);
});
然後在命令行我運行以下命令: $ NPM啓動
這是我的JSON文件:
{
"name": "library",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.14.0"
}
}
現在的問題我我有,當我從我的瀏覽器,我把:localhost:5000一切看起來很好。我看到了我的Hello World文本。但是當我試圖去公共文件夾如localhost:5000/css/style.css時,我得到以下錯誤信息。
Cannot GET /css/style.css
可能是:*「但是,您提供給'express.static'函數的路徑與您啓動'node'過程的目錄相關。如果從另一個目錄運行express應用程序,則更安全使用你想要服務的目錄的絕對路徑:'app.use('/ static',express.static(__ dirname +'/ public'));'「* https://expressjs.com/en/starter /static-files.html –
您的package.json文件旁邊是公共文件夾嗎? –
向我們展示「public」文件夾的層次結構。如果你引用'/ css/style.css',那麼你需要'public/css/style.css'來存在'express.static('public')'來找到它。 – jfriend00