J'utilise le projet YO lessapp, "grunt-contrib-connect" m'aide à démarrer un serveur de noeud js sur le port 9000. Chaque fois que j'exécute grunt serve (démarre le serveur), le service est interrompu en raison de l'avertissement ci-dessous.
Running "connect:livereload" (connect) task
Warning: connect.static is not a function Use --force to continue.
L'erreur exacte s'est produite dans la fonction ci-dessous dans Gruntfile.js
livereload: {
options: {
middleware: function(connect) {
return [
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect.static(config.app)
];
}
}
},
J'ai installé npm install grunt-contrib-connect --save-dev
, npm install serve-static --save-dev
Je suis tombé sur quelques articles, certains suggèrent de désactiver le pare-feu mais pas de chance.
Je sais qu'il y a quelque chose à voir avec ma machine ou les conflits de version de npm/node/connect, car j'ai essayé d'exécuter la même application à partir d'une autre machine et cela fonctionne très bien.
Configuration du système :
J'ai installé connect et serve-static en fonction de la publication nodejs connect ne peut pas trouver statique , mais toujours le même
De l'aide? Merci d'avance
Vous devez installer connect
et serve-static
:
npm install --save-dev grunt-contrib-connect serve-static
Et puis vous devez importer serve-static
dans 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)
];
}
}
}
À partir de la version 0.11.x, le nouveau grunt-contrib-connect
Ne prend pas en charge connect.static
Et connect.directory
.
Vous devez installer serve-static
(Pour les fichiers statiques) et serve-index
(Pour les pages Sert qui contiennent des listes de répertoires pour un chemin donné).
comme ça:var serveStatic = require('serve-static');
var serveIndex = require('serve-index');
Utilisez serveStatic
à la place connect.static
etserveIndex
à la place connect.directory
grunt.initConfig({
connect: {
options: {
test: {
directory: 'somePath',
middleware: function(connect, options){
var _staticPath = path.resolve(options.directory);
return [serveStatic(_staticPath), serveIndex(_staticPath)]
}
}
}
}
})