Cómo ejecutar index.html usando un servidor (para angularjs y otros marcos)

He buscado stackoverflow y algunos foros y no pude encontrar una solución directa y más tarde encontré algunos problemas que funcionan bien, así que lo publico aquí 🙂

El ans es para la siguiente estructura de carpetas y también puede personalizarlo para su estructura de carpetas.

--project ---app ----js ----services ----(...) ----index.html 

Por favor, consulte la respuesta a continuación. Por favor, publique si tiene una mejor manera de hacerlo y también puede agregar algunos comentarios para mejorar la respuesta. Gracias.

Método 1:

Usando node.js para ejecutar la copia del archivo index.html, pegue el siguiente código en el archivo server.js en su carpeta de aplicaciones (jerarquía superior)

 var http = require('http'); var fs = require("fs"); http.createServer(function(request, response) { if(/(.*?).css$/.test(request.url.toString())){ sendFileContent(response, request.url.toString().substring(1), "text/css"); }else if(/(.*?).js$/.test(request.url.toString())){ sendFileContent(response, request.url.toString().substring(1), "text/javascript"); }else if(/(.*?).html$/.test(request.url.toString())){ sendFileContent(response, request.url.toString().substring(1), "text/html"); }else if(request.url.toString().substring(1) == ''){ sendFileContent(response, "index.html", "text/html"); } }).listen(3000); function sendFileContent(response, fileName, contentType){ fs.readFile(fileName, function(err, data){ if(err){ response.writeHead(404); response.write("Not Found!"); } else{ response.writeHead(200, {'Content-Type': contentType}); response.write(data); } response.end(); }); } 

y desde la carpeta de aplicaciones ejecuta node server.js . Su archivo html se servirá en localhost: 3000


Método 2:

Utilizando http-server. Siga los pasos en este enlace para instalar http-server globalmente y desde su carpeta de aplicaciones ejecute cmd http-server -a localhost -p 8000 -c-1 ./app

y su archivo index.html se servirá en localhost: 8000

Nota: Puede cambiar el número de puerto en .listen y -p en los métodos anteriores.