0

私は単純な Connect ファイルサーバーで遊んでいます:

var connect = require('connect'),
    http = require('http');

connect()
    .use(connect.static('.'))
    .listen(3000);

にアクセスすると、ファイルindex.htmlが読み込まれますlocalhost:3000。しかし、私が期待する方法で他のファイルにアクセスできないようです。たとえば、アドレスlocalhost:3000/json-parser.htmlが返さError: Forbiddenれ、その後に Connect モジュールに関する情報が続きます (非常に長く、簡単な答えがあると思われるため、要求がない限りここにはすべて含めません)。

ここのコードに従ってサーバーを変更し、ディレクトリ内の「パブリック」フォルダーを提供するようにしました。

var connect = require('connect'),
    http = require('http');

connect()
    .use(connect.static('public'))
    .listen(3000);

しかし、親ディレクトリ内のフォルダー内のスクリプトとファイルにアクセスしたいのですが、すべてを「パブリック」に配置し、Connect ファイルサーバーをその外部に配置しないと不可能です。上記が機能していないように見える場合、Connectがその周りのディレクトリを提供する方法はありますか?

4

1 に答える 1

1

試す:

var connect = require('connect'),
    http = require('http');

connect()
    .use(connect.static(__dirname))
    .listen(3000);

ただし、これにより、server.js を実行したディレクトリの下にあるすべてのファイルとサブディレクトリが提供されることに注意してください。これは通常、適切な計画ではありません。

于 2013-03-09T10:43:39.677 に答える