nodejs connect no puede encontrar static

NOTA: He intentado con otra solución dada aquí pero no funcionó

Un novato con NodeJs. Intento seguir a AngularJS pro y me quedé atascado con la configuración del servidor de NodeJs. Según el libro, instalé nodejs y luego instalé el paquete de conexión usando npm install connect

luego descargué angularjs en la carpeta al lado de la carpeta nodejs. Luego, escribió el archivo server.js para conectarse al servidor. Aquí está el contenido del archivo:

var connect = require('connect'); connect.createServer(connect.static("../angularjs")).listen( 5000); 

Cuando ejecuto este archivo server.js usando:

 node server.js 

Me aparece el siguiente error:

  function app(req, res, next){ app.handle(req, res, next); } merge(app, proto); merge(app, EventEmitter.prototype); app.route = '/'; app.stack = []; return app; has no method 'static' at Object. (C:\web\nodejs\server.js:2:36) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3 

Alguna idea chicos? Gracias.

El paquete de conexión ha realizado algunos cambios en la última versión 3.x de su base de código, moviendo el middleware static a su propio paquete. Puede ver la lista de paquetes que se han movido aquí .

Así que tienes dos opciones:

Opción 1
Puede instalar una versión anterior de 2.x de connect y usarla como está:

$ npm install connect@2.XX

La instalación de la última versión 2.XX permitirá que su implementación actual funcione correctamente.

opcion 2
Puede continuar utilizando la versión 3.x de connect y también agregar serve-static :

$ npm install serve-static

También debería actualizar su archivo server.js para incluir el nuevo módulo serve-static :

 var connect = require('connect'), serveStatic = require('serve-static'); var app = connect(); app.use(serveStatic("../angularjs")); app.listen(5000); 

La respuesta de los implantes es útil. Sin embargo, aquí están los pasos exactos que seguí para resolver el mismo error. 1. Desde la ventana de comandos, cambie el directorio al directorio en el que instaló nodeJS. 2. Después de haber ejecutado npm install connect, ejecuta:

 npm install serve-static 

3. Cree un archivo llamado server.js con el siguiente código:

 var connect = require('connect'), serveStatic = require('serve-static'); var app = connect(); app.use(serveStatic("./angularjs")); app.listen(5000); 
  1. Mientras aún está en la ventana de comandos, y aún en el directorio en el que ha instalado nodeJS, ejecute:

    nodo server.js

  2. Navegue a la URL http: // localhost: 5000 / test.html

Esto debería funcionar. Aquí está mi configuración de directorio: C: \ NodeJSInstallLocation \ angularjs

 var connect = require('connect'), serveStatic = require('serve-static'); connect().use( serveStatic("angularjs") ).listen(5000); 

Es posible que desee probar algo como esto

 var express = require('express'); var app = express(); app.use(express.static('angularjs')); 
    Intereting Posts