gruntjs - serve - livereload grunt
Advertencia: connect.static no es una funciĆ³n. Use--force para continuar. (2)
Estoy usando el proyecto YO lessapp, "grunt-contrib-connect" me ayuda a iniciar un servidor js de nodo en el puerto 9000. Cada vez que ejecuto el servicio Grunt (inicio del servidor), el servicio se cancela debido a la siguiente advertencia.
Running "connect:livereload" (connect) task
Warning: connect.static is not a function Use --force to continue.
El error exacto tuvo lugar en la siguiente función en Gruntfile.js
livereload: {
options: {
middleware: function(connect) {
return [
connect.static(''.tmp''),
connect().use(''/bower_components'', connect.static(''./bower_components'')),
connect.static(config.app)
];
}
}
},
He instalado npm install grunt-contrib-connect --save-dev
, npm install serve-static --save-dev
Me encontré con algunos post, algunos sugieren apagar el firewall pero no hubo suerte.
Sé que hay algo que hacer con mi máquina o con los conflictos de versión de npm / node / connect, porque intenté ejecutar la misma aplicación desde otra máquina y funciona bien.
Configuración del sistema :
- Windows 7 Professional
- Nodo -v4.1.2
- npm -v2.14.4
- [email protected]
He instalado connect y serve-static basado en el post nodejs connect no puede encontrar static , pero sigue siendo el mismo
¿Alguna ayuda? Gracias por adelantado
Desde la versión 0.11.x, el nuevo grunt-contrib-connect
no admite connect.static
y connect.directory
.
Debe instalar serve-static
(para servir archivos estáticos) e serve-index
(para páginas de Servos que contienen listados de directorios para una ruta determinada).
Me gusta esto:
var serveStatic = require(''serve-static'');
var serveIndex = require(''serve-index'');
Utilice serveStatic
lugar de connect.static
y
serveIndex
lugar de connect.directory
grunt.initConfig({
connect: {
options: {
test: {
directory: ''somePath'',
middleware: function(connect, options){
var _staticPath = path.resolve(options.directory);
return [serveStatic(_staticPath), serveIndex(_staticPath)]
}
}
}
}
})
Tienes que instalar connect
y serve-static
:
npm install --save-dev grunt-contrib-connect serve-static
Y luego tienes que importar serve-static
en Gruntfile.js
:
module.exports = function (grunt) {
...
var serveStatic = require(''serve-static'');
grunt.initConfig({
...
connect: {
...
livereload: {
options: {
middleware: function(connect) {
return [
serveStatic(''.tmp''),
connect().use(''/bower_components'', serveStatic(''./bower_components'')),
serveStatic(config.app)
];
}
}
}