Verwenden Sie NodeJs, um einen statischen Dateiserver unter Windows zu erstellen. Auch wenn Sie keine grundlegende Grundlage haben, können Sie lernen, einen statischen NodeJS -Dateiserver zu erstellen. Dieser Artikel stellt es ausführlich vor und ist sehr geeignet für Freunde, die keine grundlegende Grundlage haben, um zu lernen.
Installieren Sie zuerst NodeJs:
• Erstellen Sie einen neuen Knotenordner
• Laden Sie Node.exe in diesen Ordner herunter
• Laden Sie NPM herunter und entpacken Sie sie in den Ordner
• Jetzt ist der Knotenordner so
• Fügen Sie dieses Verzeichnis der Pfadumgebungsvariable hinzu
• Führen Sie in der Befehlszeile aus
Knoten -vnpm -v
Wenn Sie die Versionsnummer erhalten, bedeutet dies, dass die NodeJS -Installation abgeschlossen ist
• Führen Sie in der Befehlszeile aus
NPM Config Set Registry https://registry.npm.taobao.org
In Zukunft wird das NodeJS -Modul vom NPM -Bild von Taobao heruntergeladen.
• Wenn Sie Ihr eigenes Modul an NPM veröffentlichen möchten, müssen Sie zunächst die NPM -Registrierung zurückschalten
NPM Config Set Registry https://registry.npmjs.org
Erstellen Sie als nächstes einen statischen Dateiserver
• Erstellen Sie einen Ordnerserver, ein Ordnerroot, der Server ist der JS -Code des Servers. Das Root ist das Root -Verzeichnis
• Erstellen Sie einen JS -Datei index.js mime.js server.js
• Index.js
var server = required ('./ Server.js'); var rootPath = 'root'; var sv = server.create ({port: '9587', host: '127.0.1', root: rootPath}); •mime.js var types = {"css": "text/css","less": "text/css","gif": "image/gif","html": "text/html","ejs": "text/html","ico": "image/x-icon","jpeg": "image/jpeg","jpg": "image/jpeg","js": "text/javascript","json": "application/json","pdf": "application/pdf","png": "image/png","svg": "image/svg+xml","swf": "application/x-shockwave-flash","tiff": "image/tiff","txt": "Text/Plain", "Wav": "Audio/X-Wav", "WMA": "Audio/X-MS-Wma", "WMV": "Video/X-MS-Wmv", "XML": "Text/xml", "Default": "Text/Plain"}; modul.exports = funte (ext) {ext) {{{{{{{{{{oder 'text/plain'}• Server.js
var http = required ('http'); var path = require ('path'); var fs = required ('fs'); var url = require ("url"); var mime = require ('./ mime.js'); sv = http.createServer (); Funktionsanforderung (Anfrage, Antwort) {var pathname = decodeuricomponent (url.parse (request.url) .PathName); var realpath = path.resolve (path.join (root, pathname)); // Die tatsächliche Path -Path -Funktion (Funktionsfunktion) (Funktionsfunktionen) (Funktionsfunktionen) (Funktionen) (Function) (Funktionen) (Funktionen) (Function) (Funktionen, Funktionen (Function) (Function) (Funktionen (Function) (Function) (Function (Function) (Function) (Function) (Function) (Funktionen (Entschlüsse) (Funktionen) (Funktionen (Function) (function) (function) (function (function {// beurteilen Sie, ob der Pfad isexists existiert? reject) {fs.Stat (realPath, function (err, stat) {// beurteilen, ob der Pfad eine Datei oder ein Ordner ist, wenn (err) {reject (err);} else {resolve (stat);}})}). Dann (Funktion (function (stat) {if (stat.isfile ()) {// // Der Paths entspricht einer Datei resfilile (Response, RealPh); (stat.isDirectory()) {//The path corresponds to a folder var defaultIndexPath = path.resolve(realPath, 'index.html');return getPromise(function (resolve, reject) {fs.exists(defaultIndexPath, function (isExists) {if (isExists) {//If there is index.htmlresolve(true);} else {//There is no index.html in the folder, then the content list of the folder is displayed resolve(false);}})}).then(function (isExistsIndex) {if (isExistsIndex) {resFile(response, defaultIndexPath);} else {return getPromise(function (resolve, reject) {fs.readdir(realPath, function (err, list) {if (err) {reject (err);} else {resolve (list);}})}). Dann (Funktion (list) {var pmList = list.map (Funktion (item) {return (new Promise (function (function, resection) {fs.stat (path.resolve (realpath {console.Error (err); Resolve ('');} else if (stat.isfile ()) {Resolve (`<li> <a href =" $ {item} "> $ {item} </a> </li>`); href = "$ {item}/"> $ {item} </a> </li> `);} else {Resolve ('');}})});}); Versprechen.All (pmlist) .then (function (linkList) {var links = '<ul>; href = "../"> ../ </a> </li> '; links += linkList.join (' '); a {color: orange} </style> </head> <body> $ {links} </body> </html> `; reswrite (response, '200', 'html', Dirpage);});});}). Catch (Funktion (Fehler) {Rescrite (Reaktion, '500', 'Default', 'Default', ',', ',', ',', ',', ',', ',', ',', ',' Default ',', 'Default', ' err.toString ());})}})} else {// weder eine Datei noch einen Ordner reswrite (Antwort, '404', 'html', '<H1> 404 </h1> Datei oder Dir: <H3>' + Pathname + '</h3> nicht gefunden. err.toString ());})})})} Sv.on ('Request', Request); err.toString ());} else {var ext = path.extName (realPath) .tolocalelowerCase (); ext = (ext? ext. {'Inhaltstyp': mime (mimekey)}); Antwort.end (Daten);}• Drücken Sie die Schalttaste im Serverordner, klicken Sie mit der rechten Maustaste auf den leeren Bereich im Ordner, klicken Sie hier, um das Befehlsfenster zu öffnen, und führen Sie den Befehl aus
Node Index.js
Das obige ist die einfache Methode, um NodeJs zu verwenden, um einen statischen Dateiserver unter Windows zu erstellen, den der Editor Ihnen vorgestellt hat. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!