¿Es posible usar ng-include sin servidor web?

Estoy ejecutando una aplicación AngularJS que simplemente incluye un archivo

Eso funciona cuando se ejecuta en el servidor web. Pero si la aplicación web se ejecuta simplemente haciendo doble clic desde el explorador de archivos (es decir, no desde el servidor web), no incluye el archivo

¿Incluye ng-includes fuera del servidor web? Comprobé el estado de la red en Chrome, dice OPCIONES sobre el método y carga cancelada en el estado

Una solución es incorporar sus plantillas:

  

Fiddle .

Esto coloca su plantilla en el caché de plantillas de Angular. Cuando se procesa una directiva ng-include, Angular comprueba primero la caché.

El problema es debido al protocolo file:// . La mayoría de los navegadores no permiten las solicitudes de XHR cuando el archivo se sirve desde el file:// . Es por eso que las solicitudes AJAX están fallando. Y ng-include úsalos para descargar archivos.

Puede --allow-file-access-from-files Chrome con el --allow-file-access-from-files para deshabilitar las comprobaciones de file:// .

FireFox debería cargar archivos si están en la misma carpeta (mira esto para más información).

Pero personalmente prefiero comenzar la secuencia de comandos de NodeJS más simple para servir archivos, que se pueden encontrar en el proyecto angular-semilla . Requiere solo node binario y da la sensación de ser un servidor web normal.

Tuve un problema similar y lo resolví ejecutando un servidor nodejs simple para servir archivos estáticos, http-server . Asegúrate de tener nodejs instalado, entonces:

Instalar:

$ sudo npm install http-server -g

Luego, desde su directorio de proyectos:

$ http-server

Ahora puede acceder a sus archivos desde:

localhost:8080/whatever-file-you-have-in-your-directory.html

Puede usar Grunt junto con el conector grunt-html para precomstackr sus plantillas junto con su código angular.

El uso de Host virtual en su xampp es la mejor solución y le da un nombre personalizado como yourProject.dev

actualizar el archivo httpd-vhosts en C:\xampp\apache\conf\extra\httpd-vhosts

  ServerName yourProject.dev ServerAlias www.yourProject.dev yourProject.com www.yourProject.com DocumentRoot "C:\Users\customFolder/yourProject"  DirectoryIndex index.html index.php ServerSignature Off Options Indexes FollowSymLinks IncludesNoExec AllowOverride All Allow from all Require all granted   

luego actualice su archivo hosts a 127.0.0.1 yourProject.dev

en Windows: c:\Windows\System32\Drivers\etc\hosts

en Mac: /private/etc/hosts

no te olvides de descansar tu xampp / wampp