809 votes

Node.js rapide serveur de fichiers (fichiers statiques sur HTTP)

Est-il Node.js prêt-à-utilisation de l'outil (installé avec npm), qui m'aiderait à exposer le contenu d'un dossier en tant que serveur de fichiers via HTTP.

Exemple, si j'ai

D:\Folder\file.zip
D:\Folder\file2.html
D:\Folder\folder\file-in-folder.jpg

Puis, en D:\Folder\ node node-file-server.js J'ai pu accéder à un fichier via

http://hostname/file.zip
http://hostname/file2.html
http://hostname/folder/file-in-folder.jpg

Pourquoi mon nœud de fichier statique serveur de déposer des demandes? référence mystique

standard node.js statique du serveur de fichiers

Si il n'y a aucun outil de ce type, quel cadre dois-je utiliser?

Connexes: De base de la statique du serveur de fichiers dans NodeJS

1320voto

Matt Self Points 3210

Une bonne de prêt-à-utiliser l'outil" option pourrait être http-server:

npm install http-server -g

Pour l'utiliser:

cd D:\Folder
http-server

Ou, comme ceci:

http-server D:\Folder

Check it out: https://github.com/nodeapps/http-server

87voto

jakub.g Points 3734

Pour les gens qui veulent un serveur exécutable dans NodeJS script:

Vous pouvez utiliser expressjs/servir-statique qui remplace connect.static (qui n'est plus disponible en tant que de connecter 3):

myapp.js:

var http = require('http');

var finalhandler = require('finalhandler');
var serveStatic = require('serve-static');

var serve = serveStatic("./");

var server = http.createServer(function(req, res){
  var done = finalhandler(req, res)
  serve(req, res, done)
});

server.listen(8000);

et puis, à partir de la ligne de commande:

  • $ npm install finalhandler serve-static
  • $ node myapp.js

74voto

Matt Sergeant Points 843

Je sais que c'est pas de Nœud, mais j'ai utilisé Python SimpleHTTPServer:

python -m SimpleHTTPServer [port]

Il fonctionne bien et est livré avec Python.

37voto

Oleg Points 2511

connectez pourrait être ce que vous cherchez.

Facilement installés avec:

npm install connect

Ensuite, les plus de base statique serveur de fichiers peut être écrite comme:

var connect = require('connect'),
    directory = '/path/to/Folder';

connect()
    .use(connect.static(directory))
    .listen(80);

console.log('Listening on port 80.');

4voto

Daniel Points 9676

Si vous utilisez le cadre Express, cette fonctionnalité est prêt à aller.

Pour configurer un simple service de fichiers app viens de le faire:

mkdir yourapp
cd yourapp
npm install express
node_modules/express/bin/express

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X