1

私は一般的にノードおよびサーバー側の開発に不慣れで、今日それを見始めたので、私の質問に気をつけてください。以前の投稿で適切な回答を探しましたが、どういうわけか、提案されたすべての解決策が多くのユーザーから批判されました。

次のエラーのため、静的スクリプト/スタイルを提供できません: リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました

Express 3.1.0 を使用しています。

これが私のコードです:

app.js

var express = require('express');
var app = express();

var routes = require('./routes');

app.configure(function () {
    app.set('view engine', 'jade');
    app.use(express.static(__dirname + '/public'));
});

app.get('/', routes.home);
app.get('/about', routes.about);
app.get('/blog', routes.blog);
app.get('/faq', routes.faq);
app.get('/terms', routes.terms);
app.get('/privacy', routes.privacy);
app.get('/jobs', routes.jobs);
app.get('/press', routes.press);

app.listen(8080);

index.js (ルート)

exports.home = function(req, res){
    res.render('home', { title: "Home"});
};

exports.about = function(req, res){
    res.render('about', { title: "About" });
};

etc...

レイアウト.ジェイド

doctype 5
html
    head
        title= title
        link(rel='stylesheet', href='public/styles/bootstrap.css')
    body
        block content
        br
        a(href='../') Home
        br
        a(href='../about') About
        br
etc...

ホーム.ジェイド

extends layout

block content
    p Home
4

2 に答える 2

3

サーバーmiddlewereをセットアップすると、特に指定がない限り、ルートでリクエストを検索します。「public / styles」でスタイルシートを探している場合は、「/ styles」でリクエストして、/publicへのリクエストにミドルウェアが応答するようにします。

app.use('/public', express.static(__dirname + '/public'));
于 2013-02-06T04:17:26.490 に答える
0

使ってみました

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

それ以外の

app.use(express.static(__dirname + '/public'));

そしてそれはうまくいった。

ただし、この投稿の最初の回答によると、express.jsが私の画像を提供していないため、適切とは見なされません。なぜか分かりませんか?そして、他に何がより良い解決策になるでしょうか?

于 2013-02-06T04:19:16.990 に答える