Black Lives Matter(黒人の命は大切だ)。
Equal Justice Initiative を支援してください.

serve-index

NPM Version NPM Downloads Linux Build Windows Build Test Coverage

指定されたパスのディレクトリリストを含むページを提供します。

インストール

これはNode.jsモジュールであり、npmレジストリを通じて利用できます。インストールはnpm install コマンドを使用して行います。

$ npm install serve-index

API

var serveIndex = require('serve-index')

serveIndex(path, options)

指定されたpath内のディレクトリのインデックスを提供するミドルウェアを返します。

pathreq.urlの値に基づいており、path'public'の場合、req.url'/some/dir'の場合、'public/some/dir'を参照します。expressのようなものを使用している場合は、app.useを使用してURLの「ベース」を変更できます(expressの例を参照)。

オプション

serve-indexは、オプションオブジェクトで次のプロパティを受け入れます。

filter

このフィルター関数をファイルに適用します。デフォルトはfalseです。filter関数は、各ファイルに対して呼び出され、シグネチャはfilter(filename, index, files, dir)です。filenameはファイルの名前、indexは配列インデックス、filesはファイルの配列、dirはファイルが配置されている絶対パス(したがって、リストの対象となるディレクトリ)です。

hidden

隠しファイル(ドットファイル)を表示します。デフォルトはfalseです。

icons

アイコンを表示します。デフォルトはfalseです。

stylesheet

CSSスタイルシートへのオプションパス。デフォルトは組み込みのスタイルシートです。

template

HTMLテンプレートへのオプションパス、またはHTML文字列をレンダリングする関数。デフォルトは組み込みのテンプレートです。

文字列が指定された場合、文字列はロードするファイルパスとして使用され、次のトークンがテンプレート内で置換されます。

  • {directory} はディレクトリの名前。
  • {files} はファイルのリンクの順不同リストのHTML。
  • {linked-path} はディレクトリへのリンクのHTML。
  • {style} は指定されたスタイルシートと埋め込み画像。

関数として指定された場合、関数はtemplate(locals, callback)として呼び出され、callback(error, htmlString)を呼び出す必要があります。以下は提供されるローカル変数です。

  • directory は表示されているディレクトリです(/はルートです)。
  • displayIcons はアイコンをレンダリングするかどうかのブール値です。
  • fileList はディレクトリ内のソートされたファイルの配列です。配列には次のプロパティを持つオブジェクトが含まれます。
    • name はファイルの相対名です。
    • stat はファイルのfs.Statsオブジェクトです。
  • pathdirectoryへの完全なファイルシステムパスです。
  • style はデフォルトのスタイルシート、またはstylesheetオプションの内容です。
  • viewNameviewオプションで提供されるビュー名です。
view

表示モード。tilesおよびdetailsが利用可能です。デフォルトはtilesです。

vanilla node.js httpサーバーでディレクトリインデックスを提供します

var finalhandler = require('finalhandler')
var http = require('http')
var serveIndex = require('serve-index')
var serveStatic = require('serve-static')

// Serve directory indexes for public/ftp folder (with icons)
var index = serveIndex('public/ftp', {'icons': true})

// Serve up public/ftp folder files
var serve = serveStatic('public/ftp')

// Create server
var server = http.createServer(function onRequest(req, res){
  var done = finalhandler(req, res)
  serve(req, res, function onNext(err) {
    if (err) return done(err)
    index(req, res, done)
  })
})

// Listen
server.listen(3000)

expressでディレクトリインデックスを提供します

var express    = require('express')
var serveIndex = require('serve-index')

var app = express()

// Serve URLs like /ftp/thing as public/ftp/thing
// The express.static serves the file contents
// The serveIndex is this module serving the directory
app.use('/ftp', express.static('public/ftp'), serveIndex('public/ftp', {'icons': true}))

// Listen
app.listen(3000)

ライセンス

MITSilkアイコンは、FAMFAMFAMによって作成/著作権が設定されています。