Используйте Nodejs для создания статического файлового сервера в Windows. Даже если у вас нет базовой основы, вы можете научиться создавать статический файловый сервер Nodejs. Эта статья вводит его подробно и очень подходит для друзей, у которых нет базового основания для обучения.
Сначала установить Nodejs:
• Создать новую папку узла
• Загрузите node.exe в эту папку
• Загрузите NPM и распад в папку
• Теперь папка узла такая
• Добавьте этот каталог в переменную среды Path
• Выполнить в командной строке
Узел -vnpm -v
Если вы получите номер версии, это означает, что установка Nodejs завершена
• Выполнить в командной строке
NPM Конфигурация реестра https://registry.npm.taobao.org
В будущем модуль Nodejs будет загружен с изображения NPM Taobao.
• Если вы хотите опубликовать свой собственный модуль в NPM, вы должны сначала переключить реестр NPM
NPM Конфигурация реестра https://registry.npmjs.org
Далее создайте статический файловый сервер
• Создать сервер папок, корень папки, сервер - это код сервера JS, root - это корневый каталог
• Создать файл js index.js mime.js server.js
• index.js
var server = require ('./ server.js'); var root = 'root'; var sv = server.create ({port: '9587', host: '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": "jpg": "jpg": ":" jpg ":": "jpg": "jpg": "jpg": "jpg": ":" jpg ":": "jpg": "jpg": "jpg": "jpg": "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», «по умолчанию»: «Text/plain»}; module.exports = function (ext) {return types [ext] || 'текст/простой'}• server.js
var http = require ('http'); var path = require ('path'); var fs = require ('fs'); var url = require ("url"); var mime = require ('./ mime.js'); function getPromise (cbk) {return (новое обещание (cbk); = http.createserver (); Function запрос (запрос, ответ) {var pathname = decodeuricomponent (url.parse (request.url) .pathname); var Realpath = path.Resolve (path.join (root, pathname)); // фактический путь запроса getPromise (reveloble, rejeat) {fs.exex); {// Судьбу, существует ли путь isexists? Отклонить) {fs.stat (realPath, function (err, stat) {// Судья, является ли путь файлом или папкой if (err) {deact (err);} else {Resolve (stat);}})}). Тогда (function (stat) {if (stat.istile ()) {// pable соответствует файлу file, response); (stat.isdirectory ()) {// Путь соответствует папке var defaultIndexpath = path.resolve (realPath, 'index.html'); return getPromise (function (Resolve, dovect) {fs.exist {// В папке нет index.html, тогда список содержания папки отображается Resolve (false);}})}). Тогда (function (isexistsIndex) {if (isExistSIndex) {resfile (response, defaultIndexpath);} else eTectPromise (function, revale) {fs. reject) {fs. reject). {if (err) {deact (err);} else {Resolve (list);}})}). then (function (list) {var pmilt = list.map (function (item) {return (new Propect (function (Resolve, dresect) {fs.Stat (path.Resolve (realPath, item), funct {console.error (err); Resolve ('');} else if (stat.isfile ()) {Resolve (`<li> <a href =" $ {item} "> $ {item} </a> </li>`);} else if (stat.isdectory ()) {relove (`<li> href = "$ {item}/"> $ {item} </a> </li> `);} else {Resolve ('');}})}));}); orploy.all (pmlist) .then (function (linklist) {var links = '<ul>'; links += '<li> <a function) {var links =' <ul> '; href = "../"> ../ </a> </li> '; links += linklist.join (' '); links +=' </ul> '; var dirpage = `<! doctype html> <html> <head> <meta charset =" utf-8 "/> <style> {{html>; a {color: Orange} </style> </head> <body> $ {links} </body> </html> `; reswrite (response, '200', 'html', dirpage);});});}). Catch (err) {reswrite (response, '500', 'arfaul else {// ни файл, ни папка Reswrite (ответ, '404', 'html', '<h1> 404 </h1> файл или dir: <h3>' + pathname + '</h3> не найден');}}). Catch (err) {reswrite (ответ, '500', 'Default',}). err.tostring ());})})})} sv.on ('request', request); sv.listen (opts.port, opts.host); return sv;}; function resfile (response, realpath) {// вывод файл fs.readfile (realpath, funct err.tostring ());} else {var ext = path.extname (realPath) .tolocaleLowerCase (); ext = (ext? Ext.Slice (1): 'Неизвестно'); Reswrite (ответ, '200', Ext, data);}});} function reswrite, response, stature, mimecke, data. {'' Content-type ': mime (mimekey)}); response.end (data);}• Нажмите и удерживайте кнопку Shift в папке сервера, щелкните правой кнопкой мыши в папке, нажмите здесь, чтобы открыть окно команды и выполнить команду
Узел index.js
Выше приведено простой метод использования Nodejs для создания статического файлового сервера в Windows, который вам представил редактор. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!