1

イライラする問題で立ち往生しています。

私の静的ファイルはエクスプレス js によって提供されていません。代わりに、私のグローバル キャッチオール get ハンドラーがヒットしています。

私のディレクトリ構造:

node/apps/web/app.js
-------------/public/
--------------------/css/site.css
--------------------/js/
--------------------/img/

私の開発構成

app.configure('development',function() {

console.log(__dirname);

// for development, serve static files via express
app.use(express.static(__dirname + '/public'));

app.use(express.errorHandler({dumpExceptions: true, showStack: true}));
});
//...later
app.get('*',route.r404);

リクエスト:

http://192.168.1.101/css/site.css

適切な css ファイルをトリガーできません。

編集して追加:

デフォルトのキャッチオールルートと関係があるようです。コメントアウトするとちゃんと解決するのですが…

4

2 に答える 2

2

app.use(app.router) が app.use(express.static(...)) 行の上にある場合、ルートは static より優先されます。app.get('*',...) 行はルートの一部です。

Node.js / Express.js - app.router の仕組みを参照してください。詳細については。

于 2013-04-08T02:41:44.347 に答える
0
 var express = require("D:/node/express/modules/express");
 var path=require("D:/node/express/modules/path");
 var app = new express();
 app.get('/',function(req,res){
     res.sendFile(path.join(__dirname,'/index.html'));
 });
 app.get('/about',function(req,res){
    res.sendFile(path.join(__dirname,'/about.html'));
 });
 app.listen(1000);

ここvar expressvar pathモジュールのパスです。この単純なコードを使用して静的ファイルを提供できます。

于 2015-03-30T10:31:12.960 に答える