Szybki serwer plików Node.js (pliki statyczne przez HTTP)


Czy istnieje gotowe do użycia narzędzie Node.js (instalowane z
npm
), które pomogłoby mi w ujawnieniu zawartości folderu jako serwera plików przez HTTP.
Na przykład, jeśli mam
D:\Folder\file.zip
D:\Folder\file2.html
D:\Folder\folder\file-in-folder.jpg

Następnie zaczynając od
D: \ Folder \
node node-file-server.js
mogłem uzyskać dostęp do pliku poprzez
[url=http://hostname/file.zip]http://hostname/file.zip[/url]
[url=http://hostname/file2.html]http://hostname/file2.html[/url]
[url=http://hostname/folder/file-in-folder.jpg]http://hostname/folder/file-in-folder.jpg[/url]

Dlaczego mój serwer plików statycznych węzła odrzuca żądania?
https://coderoad.ru/11024052/
jakiś mistyczny związek

standardowy statyczny serwer plików node.js

Jeśli nie ma takiego narzędzia, jakiego frameworka powinienem użyć?
Połączony:

Podstawowe serwery plików statycznych w NodeJS
https://coderoad.ru/7268033/
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dobrą opcją „gotowego do użycia narzędzia” może być serwer http:
npm install http-server -g

Aby go użyć:
cd D:\Folder
http-server

Lub tak:
http-server D:\Folder

Sprawdź to:

https://github.com/nodeapps/http-server
https://github.com/nodeapps/http-server
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli nie chcesz korzystać z gotowego narzędzia, możesz skorzystać z poniższego kodu, jak pokazano przeze mnie na

https://developer.mozilla.org/ ... ework
https://developer.mozilla.org/ ... ework
:
var http = require('http');
var fs = require('fs');
var path = require('path');http.createServer(function (request, response) {
console.log('request starting...'); var filePath = '.' + request.url;
if (filePath == './')
filePath = './index.html'; var extname = path.extname(filePath);
var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
case '.json':
contentType = 'application/json';
break;
case '.png':
contentType = 'image/png';
break;
case '.jpg':
contentType = 'image/jpg';
break;
case '.wav':
contentType = 'audio/wav';
break;
} fs.readFile(filePath, function(error, content) {
if (error) {
if(error.code == 'ENOENT'){
fs.readFile('./404.html', function(error, content) {
response.writeHead(200, { 'Content-Type': contentType });
response.end(content, 'utf-8');
});
}
else {
response.writeHead(500);
response.end('Sorry, check with the site admin for error: '+error.code+' ..\n');
response.end();
}
}
else {
response.writeHead(200, { 'Content-Type': contentType });
response.end(content, 'utf-8');
}
});}).listen(8125);
console.log('Server running at [url=http://127.0.0.1:8125]http://127.0.0.1:8125[/url]/');


Aktualizacja

Jeśli chcesz uzyskać dostęp do serwera z zewnętrznego żądania/pliku, musisz pokonać CORS w pliku node.js, pisząc poniżej, jak wspomniałem w poprzedniej odpowiedzi

tutaj
https://coderoad.ru/25761481/
// Website you wish to allow to connect
response.setHeader('Access-Control-Allow-Origin', '*');// Request methods you wish to allow
response.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');// Request headers you wish to allow
response.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
response.setHeader('Access-Control-Allow-Credentials', true);


UPDATE

Jak wspomniał Adrian, w komentarzach napisał kod ES6 z pełnym wyjaśnieniem

tutaj
http://adrianmejia.com/blog/20 ... -ES6/
Po prostu ponownie zamieszczam jego kod poniżej, na wypadek gdyby kod zniknął z oryginalnej strony z jakiegokolwiek powodu:
const http = require('http');
const url = require('url');
const fs = require('fs');
const path = require('path');
const port = process.argv[2] || 9000;http.createServer(function (req, res) {
console.log(`${req.method} ${req.url}`);// parse URL
const parsedUrl = url.parse(req.url);
// extract URL path
let pathname = `.${parsedUrl.pathname}`;
// based on the URL path, extract the file extention. e.g. .js, .doc, ...
const ext = path.parse(pathname).ext;
// maps file extention to MIME typere
const map = {
'.ico': 'image/x-icon',
'.html': 'text/html',
'.js': 'text/javascript',
'.json': 'application/json',
'.css': 'text/css',
'.png': 'image/png',
'.jpg': 'image/jpeg',
'.wav': 'audio/wav',
'.mp3': 'audio/mpeg',
'.svg': 'image/svg+xml',
'.pdf': 'application/pdf',
'.doc': 'application/msword'
}; fs.exists(pathname, function (exist) {
if(!exist) {
// if the file is not found, return 404
res.statusCode = 404;
res.end(`File ${pathname} not found!`);
return;
}// if is a directory search for index file matching the extention
if (fs.statSync(pathname).isDirectory()) pathname += '/index' + ext;// read file from file system
fs.readFile(pathname, function(err, data){
if(err){
res.statusCode = 500;
res.end(`Error getting the file: ${err}.`);
} else {
// if the file is found, set Content-type and send data
res.setHeader('Content-type', map[ext] || 'text/plain' );
res.end(data);
}
});
});
}).listen(parseInt(port));console.log(`Server listening on port ${port}`);
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dla osób, które chcą mieć serwer, który można uruchomić ze skryptu NodeJS:
możesz użyć

expressjs/serve-static
https://github.com/expressjs/s ... erver
który zastępuje
connect.static
(który nie jest już dostępny od connect 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);

a następnie z linii poleceń:
  • $ npm install finalhandler serve-static
  • $ node myapp.js
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wiem, że to nie jest Node, ale użyłem Python SimpleHTTPServer:
python -m SimpleHTTPServer [port]

Działa dobrze i jest dostarczany z Pythonem.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

złożony
https://npmjs.org/package/connect

może być tym, czego szukasz.
Łatwy w instalacji dzięki:
npm install connect

Wtedy najprostszy statyczny serwer plików można zapisać jako:
var connect = require('connect'),
directory = '/path/to/Folder';connect()
.use(connect.static(directory))
.listen(80);console.log('Listening on port 80.');
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zainstaluj express za pomocą npm:

https://expressjs.com/en/starter/installing.html
https://expressjs.com/en/starter/installing.html
Utwórz plik o nazwie server.js na tym samym poziomie pliku index.html z następującą zawartością:
var express = require('express');
var server = express();
server.use('/', express.static(__dirname + '/'));
server.listen(8080);

Jeśli chcesz go umieścić w innym miejscu, ustaw ścieżkę w trzeciej linii:
server.use('/', express.static(__dirname + '/public'));

CD do folderu zawierającego plik i uruchom węzeł z konsoli za pomocą tego polecenia:
node server.js

Przejrzyj localhost: 8080
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


One-line ™ zamiast obietnic
>
https://i.stack.imgur.com/CrTt4.png

Pierwszy to
http-server
,
hs

-

połączyć
https://www.npmjs.com/package/http-server
>
npm i -g http-server// install
hs C:\repos// run with one line?? FTW!!


Drugi to
serve
firmy ZEIT.co-

link
https://www.npmjs.com/package/serve
>
npm i -g serve// install
serve C:\repos// run with one line?? FTW!!

Poniżej znajdują się dostępne opcje, jeśli to pomoże Ci podjąć decyzję.

C:\Users\Qwerty>http-server --help
usage: http-server [path] [options]options:
-p Port to use [8080]
-a Address to use [0.0.0.0]
-d Show directory listings [true]
-i Display autoIndex [true]
-g --gzip Serve gzip files when possible [false]
-e --ext Default file extension if none supplied [none]
-s --silent Suppress log messages from output
--cors[=headers] Enable CORS via the "Access-Control-Allow-Origin" header
Optionally provide CORS headers list separated by commas
-o [path] Open browser window after starting the server
-c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.
To disable caching, use -c-1.
-U --utc Use UTC time format in log messages. -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com -S --ssl Enable https.
-C --cert Path to ssl cert file (default: cert.pem).
-K --key Path to ssl key file (default: key.pem). -r --robots Respond to/robots.txt [User-agent: *\nDisallow:/]
-h --help Print this list and exit.
C:\Users\Qwerty>serve --help Usage: serve.js [options] [command] Commands: help Display help Options: -a, --auth Serve behind basic auth
-c, --cache Time in milliseconds for caching files in the browser
-n, --clipless Don't copy address to clipboard (disabled by default)
-C, --cors Setup * CORS headers to allow requests from any origin (disabled by default)
-h, --help Output usage information
-i, --ignore Files and directories to ignore
-o, --open Open local address in browser (disabled by default)
-p, --port Port to listen on (defaults to 5000)
-S, --silent Don't log anything to the console
-s, --single Serve single page applications (sets `-c` to 1 day)
-t, --treeless Don't display statics tree (disabled by default)
-u, --unzipped Disable GZIP compression
-v, --version Output the version numberJeśli chcesz śledzić zmiany, zobacz
hostr
https://www.npmjs.com/package/hostr, kredyt

Odpowiedź Henry'ego Zenga
https://coderoad.ru/16333790/
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


TYLKO SERWER DEMO/PROTO
>
Jeśli to wszystko, czego chcesz, spróbuj tego:
const http = require('http');
const fs = require('fs');
const port = 3000;
const app = http.createServer((req,res) => {
res.writeHead(200);
if (req.url === '/') req.url = '/index.html';// courtesy of @JosephCho
res.end(fs.readFileSync(__dirname + req.url));
});app.listen(port);
Uwaga: musisz użyć „/index.html” jako części adresu np. ”

http://localhost:3000/index.html
http://localhost:3000/index.html "
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jest jeszcze jeden statyczny serwer WWW, który jest całkiem niezły: synchronizacja przeglądarki.
Można go pobrać za pomocą Node Package Manager:
npm install -g browser-sync

Po zainstalowaniu przejdź do folderu projektu w wierszu polecenia cmd i wykonaj następujące kroki:
browser-sync start --server --port 3001 --files="./*"

Rozpocznie się udostępnianie wszystkich plików w bieżącym folderze przeglądarki.
Dowiedz się więcej od

BrowserSync
https://www.browsersync.io/
Dzięki.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Tutaj
http://pad.js.org
mój jednoplikowy/lekki projekt dla serwera internetowego node.js w postaci pliku statycznego bez zależności, który uważam za szybkie i bogate narzędzie, które jest tak łatwe w użyciu, jak wydanie tego polecenia na terminalu Linux/Unix/macOS (lub

termux
https://termux.com
na Androidzie) po zainstalowaniu node.js (lub
nodejs-legacy
na Debianie/Ubuntu):
curl pad.js.org | node

(w dokumentacji są różne polecenia dla użytkowników systemu Windows)
Obsługuje różne rzeczy, które moim zdaniem mogą okazać się przydatne,
  • Tworzenie/utrzymywanie indeksu katalogu hierarchicznego [list][*]Można sortować według różnych kryteriów
  • Ładowanie z przeglądarki przy użyciu metody przeciągania i upuszczania [wielu plików] oraz kopiowania i wklejania tylko do pliku/tekstu oraz wklejania zrzutu ekranu do schowka systemowego w Chrome, Firefox i innych przeglądarkach może mieć pewne ograniczenia (które można wyłączyć za pomocą polecenia linie, które zapewnia)
  • Przycisk tworzenia folderów/notatek/przesyłania

[/*]
[*]
Dostarczaj poprawne MIME dla dobrze znanych typów plików (z możliwością wyłączenia)
[/*]
[*]
Możliwość instalacji jako pakiet npm i narzędzie lokalne lub instalacja jednoliniowa jako stała usługa z Dockerem
[/*]
[*]
Obsługa plików HTTP 206 (przesyłanie wielu części pliku) dla szybszego transferu
[/*]
[*]
Ładuje z terminala i konsoli przeglądarki (w rzeczywistości pierwotnie planowano, że będzie to proxy systemu plików dla konsoli JS przeglądarek na innych stronach/domenach)
[/*]
[*]
Załadunek/rozładunek CORS (który można również wyłączyć)
[/*]
[*]
Łatwa integracja z HTTPS
[/*]
[*]
Lekkie opcje wiersza poleceń zapewniające lepszą bezpieczną usługę:
  • Z założoną łatką node.js 8 https://github.com/nodejs/node/pull/13012możesz uzyskać dostęp do opcji bez ich wcześniejszej instalacji:
    curl pad.js.org | węzeł - -h
  • Lub najpierw zainstaluj go jako systemowy globalny pakiet npm przez
    [sudo] npm install -g pad.js
    , a następnie użyj jego zainstalowanej wersji, aby uzyskać dostęp do jego opcji:
    pad -h
  • Lub użyj dostarczonego obrazu Dockera, który domyślnie używa względnie bezpiecznych opcji.
    [sudo] docker run --restart = always -v/files:/files --name pad.js -d -p 9090: 9090 quay. io/ebraminio/pad.js
  • [/*]

[/*]
[/list]
Opisane powyżej funkcje są w większości udokumentowane na stronie głównej narzędzia

http://pad.js.org
http://pad.js.org
co, dzięki jakiejś dobrej sztuczce, której użyłem, jest również źródłem samego instrumentu!
Źródło instrumentu znajduje się pod adresem

GitHub
https://github.com/ebraminio/pad.js
który z zadowoleniem przyjmuje Twoje opinie, życzenia i życzenia!
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nie miałem szczęścia z żadną z odpowiedzi na tej stronie, jednak następująca sztuczka zdawała się działać.
Dodaj plik
server.js
o następującej zawartości:
const express = require('express')
const path = require('path')
const port = process.env.PORT || 3000
const app = express()// serve static assets normally
app.use(express.static(__dirname + '/dist'))// handle every other route with index.html, which will contain
// a script tag to your application's JavaScript file(s).
app.get('*', function (request, response){
response.sendFile(path.resolve(__dirname, 'dist', 'index.html'))
})app.listen(port)
console.log("server started on port " + port)

Upewnij się również, że potrzebujesz
express
. Uruchom
yarn add express --save
lub
npm install express --save
w zależności od konfiguracji (mogę polecić
yarn
, jest to dość szybkie). ..
Możesz zmienić
dist
na dowolny folder, w którym udostępniasz swoje treści. W moim prostym projekcie nie wyświetlałem w żadnym folderze, więc po prostu usunąłem nazwę pliku
dist
.
Następnie możesz uruchomić
node server.js
. Ponieważ musiałem przesłać swój projekt na serwer Heroku, musiałem dodać następujące elementy do mojego pliku
package.json
:
"scripts": {
"start": "node server.js"
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Począwszy od npm@5.2.0,
npm
zaczął instalować nowy plik binarny wraz ze zwykłym npm o nazwie
npx
. Więc teraz jedna linijka do stworzenia statycznego serwera http z bieżącego katalogu:
npx serve

lub
npx http-server
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli korzystasz z platformy

Express framework
http://expressjs.com/, ta funkcjonalność będzie gotowa do użycia.
Aby skonfigurować prostą aplikację do obsługi plików, wykonaj następujące czynności:
mkdir yourapp
cd yourapp
npm install express
node_modules/express/bin/express
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W prostym języku node.js:
<pre class="lang-js prettyprint-override">
const http = require('http')
const fs = require('fs')
const path = require('path')process.on('uncaughtException', err => console.error('uncaughtException', err))
process.on('unhandledRejection', err => console.error('unhandledRejection', err))const publicFolder = process.argv.length > 2 ? process.argv[2] : '.'
const port = process.argv.length > 3 ? process.argv[3] : 8080const mediaTypes = {
zip: 'application/zip',
jpg: 'image/jpeg',
html: 'text/html',
/* add more media types */
}const server = http.createServer(function(request, response) {
console.log(request.method + ' ' + request.url) const filepath = path.join(publicFolder, request.url)
fs.readFile(filepath, function(err, data) {
if (err) {
response.statusCode = 404
return response.end('File not found or you made an invalid request.')
} let mediaType = 'text/html'
const ext = path.extname(filepath)
if (ext.length > 0 && mediaTypes.hasOwnProperty(ext.slice(1))) {
mediaType = mediaTypes[ext.slice(1)]
} response.setHeader('Content-Type', mediaType)
response.end(data)
})
})server.on('clientError', function onClientError(err, socket) {
console.log('clientError', err)
socket.end('HTTP/1.1 400 Bad Request\r\n\r\n')
})server.listen(port, '127.0.0.1', function() {
console.log('‍ Development server is online.')
})


Jest to prosty serwer node.js, który obsługuje tylko żądane pliki w określonym katalogu.

Za pomocą:
<pre class="lang-sh prettyprint-override">
node server.js folder port

folder
może być bezwzględny lub względny, w zależności od lokalizacji
server.js
. Wartość domyślna to
.
, czyli katalog, w którym wykonywane jest polecenie
node server.js
.
port
is 8080 by default but you can specify any port available in your OS.
In your case, I would do:
<pre class="lang-sh prettyprint-override">
cd D:\Folder
node server.js

You can browse the files under
D:\Folder
from a browser by typing
[url=http://127.0.0.1:8080/somefolder/somefile.html]http://127.0.0.1:8080/somefolder/somefile.html[/url]
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Oto kolejny prosty serwer WWW.
https://www.npmjs.com/package/hostr
https://www.npmjs.com/package/hostr
zainstalować
npm install -g hostr

Zmiana dyrektora roboczego
cd myprojectfolder/

I zacznijmy
hostr
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby uzyskać zdrowy wzrost wydajności podczas używania węzła do obsługi zasobów statycznych, zalecam użycie

Buffet
https://www.npmjs.com/package/buffet... Działa podobnie do Web Application Accelerator, znanego również jako odwrotny serwer proxy buforowania HTTP, ale po prostu ładuje wybrany katalog do pamięci.

Buffet przyjmuje podejście w pełni buforowane - wszystkie pliki są w pełni ładowane do pamięci podczas ładowania aplikacji, więc nigdy nie poczujesz, że system plików się pali. W praktyce jest to niezwykle skuteczne. Do tego stopnia, że ​​nałożenie lakieru przed aplikacją może nawet ją spowolnić!

Używamy go w witrynie codePile i stwierdziliśmy wzrost o ~ 700 żądań/s do> 4K żądań na sekundę na stronie, która ładuje 25 zasobów podczas ładowania połączenia 1k użytkownika w tym samym czasie.
Przykład:
var server = require('http').createServer();var buffet = require('buffet')(root: './file');   server.on('request', function (req, res) {   buffet(req, res, function () {     buffet.notFound(req, res);   });});  server.listen(3000, function () {   console.log('test server running on port 3000');});
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spójrz na to

połączyć
https://expressjs.com/en/starter/static-files.html
.
Wystarczy zainstalować moduł ekspresowy
node js
.
var express = require('express');
var app = express();app.use('/Folder', express.static(__dirname + '/Folder'));

Możesz uzyskać dostęp do swojego pliku, np

http://hostname/Folder/file.zip
http://hostname/Folder/file.zip
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W tym celu możesz skorzystać z pakietu NPM

serve
https://www.npmjs.com/package/serve
jeśli nie potrzebujesz rzeczy NodeJS, jest to szybkie i łatwe w użyciu narzędzie:
1-zainstaluj pakiet na swoim komputerze:
npm install -g serve

2-serwuj folder statyczny z
serwuj & < ścieżka & >
:
d:> serve d:\StaticSite

Pokaże ci, jaki port obsługuje twój folder statyczny, po prostu przejdź do hosta, na przykład:
[url=http://localhost:3000]http://localhost:3000[/url]
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Poniżej pracowało dla mnie:
Utwórz plik
app.js
z następującą zawartością:
// app.jsvar fs = require('fs'),
http = require('http');http.createServer(function (req, res) {
fs.readFile(__dirname + req.url, function (err,data) {
if (err) {
res.writeHead(404);
res.end(JSON.stringify(err));
return;
}
res.writeHead(200);
res.end(data);
});
}).listen(8080);

Utwórz plik
index.html
z następującą zawartością:
Hi

Uruchomiony wiersz poleceń:
cmd

Poniżej w
cmd
:
node app.js

Idź poniżej adresu URL, w chrome:
[url=http://localhost:8080/index.html]http://localhost:8080/index.html[/url]

To wszystko. Mam nadzieję że to pomoże.
Źródło:

https://nodejs.org/en/knowledg ... files
https://nodejs.org/en/knowledg ... iles/
/
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz spróbować

służ mi
https://www.npmjs.org/package/serve-me
Korzystanie z niego jest tak proste:
ServeMe = require('serve-me')();
ServeMe.start(3000);

To wszystko.
PD: Domyślny folder to „publiczny”.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nie ma go jeszcze w NPM, ale zbudowałem prosty serwer statyczny w Expressie, który umożliwia również przyjmowanie żądań formularzy i wysyłanie ich pocztą e-mail za pośrednictwem usługi e-mail transakcyjnej (na razie Sendgrid, nadchodzi Mandrill).
https://github.com/jdr0dn3y/nodejs-StatServe
https://github.com/jdr0dn3y/nodejs-StatServe
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Najpierw zainstaluj serwer node-static za pomocą
npm install node-static -g
-g, aby zainstalować go globalnie w systemie, a następnie przejdź do katalogu, w którym znajdują się twoje pliki, uruchom serwer z
static
, nasłuchuje na porcie 8080, przechodzi do przeglądarki i wybiera numer localhost: 8080/twojahtmlnazwa pliku.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dla wygody wyszukiwarek podobała mi się odpowiedź Yakub g, ale chciałem trochę uporządkować błędy. Oczywiście najlepsze

prawidłowo
https://stackoverflow.com/a/7313005/852806
obsłużyć błędy, ale powinno to zapobiec zatrzymaniu witryny w przypadku wystąpienia błędu. Kod poniżej:
var http = require('http');
var express = require('express');process.on('uncaughtException', function(err) {
console.log(err);
});var server = express();server.use(express.static(__dirname));var port = 10001;
server.listen(port, function() {
console.log('listening on port ' + port);
//var err = new Error('This error won't break the application...')
//throw err
});
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Prosty serwer statyczny korzystający z connect
var connect = require('connect'),
directory = __dirname,
port = 3000;connect()
.use(connect.logger('dev'))
.use(connect.static(directory))
.listen(port);console.log('Listening on port ' + port);

Zobacz też

używanie node.js jako prostego serwera WWW
https://coderoad.ru/6084360/
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wyszukiwanie rejestru NPM

https://npmjs.org/search?q=server
https://npmjs.org/search?q=server, Znalazłem serwer statyczny

https://github.com/maelstrom/static-server
https://github.com/maelstrom/static-serverZawsze trzeba było wysłać plik do współpracownika, ale nie przeszkadza mu e-mail
bestia 100 MB? Chciałem uruchomić prosty przykład JavaScript
aplikacji, ale wystąpiły problemy z jej uruchomieniem przez plik:///
protokół? Chciałbym udostępnić mój katalog multimediów w sieci LAN bez
konfigurowanie Samby, FTP lub czegokolwiek innego, co wymaga edycji
pliki konfiguracyjne? Wtedy ten serwer plików sprawi, że twoje życie będzie takie
trochę łatwiej.
Aby zainstalować proste statyczne rzeczy na serwerze, użyj npm:
npm install -g static-server

Następnie, aby udostępnić plik lub katalog, po prostu uruchom
$ serve path/to/stuff
Serving path/to/stuff on port 8001
Może to być nawet lista zawartości folderu.
Niestety,

nie może wyświetlać plików
https://github.com/maelstrom/s ... ues/1
:)

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się