Utilisez NodeJS pour créer un serveur de fichiers statique sur Windows. Même si vous n'avez pas de fondation de base, vous pouvez apprendre à créer un serveur de fichiers statique NodeJS. Cet article le présente en détail et est très adapté aux amis qui n'ont pas de base de base à apprendre.
Installez d'abord NodeJS:
• Créer un nouveau dossier de nœud
• Télécharger Node.exe dans ce dossier
• Télécharger NPM et Unzip dans le dossier
• Maintenant, le dossier de nœud est comme ça
• Ajouter ce répertoire à la variable d'environnement de chemin
• Exécuter sur la ligne de commande
Node -vnpm -v
Si vous obtenez le numéro de version, cela signifie que l'installation de Nodejs est terminée
• Exécuter sur la ligne de commande
NPM Config Set Registry https://registry.npm.taobao.org
À l'avenir, le module NodeJS sera téléchargé à partir de l'image NPM de Taobao.
• Si vous souhaitez publier votre propre module sur NPM, vous devez d'abord changer le registre NPM
NPM Config Set Registry https://registry.npmjs.org
Ensuite, créez un serveur de fichiers statique
• Créer un serveur de dossier, une racine de dossier, le serveur est le code JS du serveur, Root est le répertoire racine
• Créer un fichier JS index.js mime.js server.js
• index.js
var server = require ('./ server.js'); var rootpath = 'root'; var sv = server.create ({port: '9587', hôte: '127.0.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" " "Text / Plain", "Wav": "Audio / X-WAV", "WMA": "Audio / X-MS-WMA", "WMV": "VIDEO / X-MS-WMV", "XML": "Text / Xml", "Default": "Text / PLAIN"}; Module.Exports = Fonction (Ext) {return types [ext] || 'Texte / Plain'}• server.js
var http = required ('http'); var path = require ('path'); var fs = require ('fs'); var url = require ("url"); var mime = require ('./ mime.js'); fonction getpromise (cbk) {return (new promest (cbk));} exportS.create = function) = http.createServer (); fonction de fonction (demande, réponse) {var pathname = decodeuriComponent (url.parse (request.url) .pathname); var realPath = path.resolve (path.join (root, pathname)); // le chemin réel de la demande GETPROMIS {// jugez si le chemin existe est IsExists? rejeter) {fsat (realPath, function (err, stat) {// juger si le chemin est un fichier ou un dossier if (err) {rejeter (err);} else {résolve (stat);}})}). alors (function (stat) {if (stat.sisfile ()) {// le chemin correspond à un fichier ResFile (réponse, realpath);} (stat.isDirectory ()) {// Le chemin correspond à un dossier var defaultIndexpath = path.resolve (realPath, 'index.html'); return getPromise (function (résolve, rejection) {fs.exists (defaultIndexpath, function (isExists) {if (isExists) {// il y a index.htmlSolve (true);} Non index.html Dans le dossier, puis la liste de contenu du dossier s'affiche Resolve (false);}})}). alors (fonction (iSexistSindex) {if (isExistSindex) {resFile (réponse, defaultIndexpath);} else {return getPromise (fonction (Resolve, Reject) {fs.readdir (real {rejeter (err);} else {résolve (list);}})}). puis (fonction (list) {var pmList = list.map (function (item) {return (new promed (function (résolve, rejeter) {fsat (path.resolve (realPath, item), function (err, stat) {if (err) {Console.Error (err); (stat.isfile ()) {résolve (`<li> <a href =" $ {item} "> $ {item} </a> </li>`);} else if (stat.isdirectory ()) {résolve (`<li> <a href =" $ {item} / "> $ {item} </a> {résolve ('');}})}));}); promesse.all (pmlist) .then (function (linkList) {var links = '<ul>'; liens + = '<li> <a href = "../"> ../ </a> </ li>'; liens + = linkList.join (''); `<! doctype html> <html> <éadf> <meta charset =" utf-8 "/> <style> a {colore: bleu; text-décoration: non;}. dir a {colore: orange} </pyle> </-head> <body> $ {links} </ody> </html>`; rewrite (réponse, '200', html> ' dirpage);});});}). catch (function (err) {rewrite (réponse, '500', 'default', err.toString ());})}})} else {// ni fichier ni dossier reswrite (réponse, '404', 'html', '<h1> 404 </h1> file '</h3> non trouvé');}}). catch (function (err) {rewrite (réponse, '500', 'default', err.tostring ());})})})} sv.on ('request', request); sv.Listen (opts.port, opts.host); fs.readfile (realPath, function (err, data) {if (err) {rewrite (réponse, '500', 'default', err.tostring ());} else {var ext = path.extname (realPath) .tolocalelowercase (); ext = (ext? Ext. data);}});} fonction rewrite (réponse, statuscode, mimeKey, data) {réponse.writeHead (statuscode, {'contenu-type': mime (mimekey)}); réponse.end (data);}• Appuyez et maintenez le bouton Shift dans le dossier du serveur, cliquez avec le bouton droit sur la zone vide dans le dossier, cliquez ici pour ouvrir la fenêtre de commande et exécutez la commande
nœud index.js
Ce qui précède est la méthode simple d'utilisation de NodeJS pour créer un serveur de fichiers statique sur Windows que l'éditeur vous a présenté. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!