tutorial gulp livereload gulp-livereload

tutorial - gulp-livereload sobre https?



gulp-connect (2)

Hay dos soluciones fuera de mi cabeza:

1. Organiza el cliente tú mismo

https://github.com/livereload/livereload-js

Instalarlo como una dependencia:

bower install livereload-js --save-dev

o

npm install livereload-js --save

Luego solo inclúyelo como si incluyeras un script regular. Sin embargo, tenga en cuenta estas advertencias .

/path/to/dist/livereload.js?host=localhost

2. Proxy el script del cliente

Esto es bastante complicado, pero definitivamente funcionaría. Cree un servidor HTTPS en su gulpfile (tal vez en la tarea de vigilancia).

https://github.com/nodejitsu/node-http-proxy

https://github.com/nodejitsu/node-http-proxy#using-https

httpProxy.createServer({ ssl: { key: fs.readFileSync(''valid-ssl-key.pem'', ''utf8''), cert: fs.readFileSync(''valid-ssl-cert.pem'', ''utf8'') }, target: ''https://localhost:35729'', secure: true // Depends on your needs, could be false. }).listen(443);

Luego puede hacer referencia a la secuencia de comandos proxy.

https://127.0.0.1:443/livereload.js?snipver=1

He estado usando livereload cromo extension que inserta un http: // [...] /livereload.js en el documento. Desafortunadamente, estoy trabajando en un proyecto que requiere https y esperaba replicarlo localmente, pero no es necesario hacerlo ya que puedo cambiar el protocolo para diferentes entornos, pero me pregunto si es posible establecer un trago -livereload para cargar a través de https en su lugar?

Hay algunas cosas que probé, como agregar el script manualmente sin éxito, ya que recibo un error de conexión (GET https://127.0.0.1:35729/livereload.js?snipver=1 net :: ERR_CONNECTION_CLOSED):

var script = document.createElement(''script''); script.type = ''text/javascript''; script.src = ''https://127.0.0.1:35729/livereload.js?snipver=1''; document.getElementsByTagName(''body'')[0].appendChild(script)

Cualquier consejo es apreciado, ¡gracias!


Aunque no está en los documentos API, la adición de parámetros clave / cert funciona

gulp.task(''run-reload-server'', function() { livereload.listen({ host: "my.domain.com", port: 35729, key: fs.readFileSync(path.join(__dirname, ''livereload.key''), ''utf-8''), cert: fs.readFileSync(path.join(__dirname, ''livereload.crt''), ''utf-8''), }); });