NOTE: J'ai essayé une autre solution donnée ici mais cela n'a pas fonctionné
Un débutant avec NodeJs. J'essaie de suivre AngularJS pro et je me suis retrouvé avec la configuration du serveur NodeJs. Selon book, j’ai installé nodejs puis installé le paquet connect à l’aide de npm install connect
puis téléchargé angularjs dans le dossier à côté du dossier nodejs. Puis écrit le fichier server.js pour se connecter au serveur. Voici le contenu du fichier:
var connect = require('connect');
connect.createServer(connect.static("../angularjs")).listen( 5000);
Quand j'exécute ce fichier server.js en utilisant:
node server.js
J'ai l'erreur suivante:
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.<anonymous> (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
Des idées les gars? Merci.
Le package connect a apporté des modifications à la dernière version 3.x de leur base de code, déplaçant le middleware static
vers son propre package. Vous pouvez voir la liste des paquets qui ont été déplacés ici .
Donc, vous avez deux options:
Option 1
Vous pouvez installer une version 2.x plus ancienne de connect et l’utiliser telle quelle:
$ npm install [email protected]
L'installation de la dernière version 2.X.X permettra à votre implémentation actuelle de fonctionner correctement.
Option 2
Vous pouvez continuer à utiliser la version 3.x de connect et également ajouter serve-static
:
$ npm install serve-static
Vous devrez également mettre à jour votre server.js
fichier pour inclure le nouveau serve-static
module:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("../angularjs"));
app.listen(5000);
La réponse de dylants est utile. Cependant, voici les étapes exactes que j'ai suivies afin de résoudre la même erreur. 1. Dans la fenêtre de commande, accédez au répertoire dans lequel vous avez installé nodeJS. 2. Après avoir déjà exécuté npm install connect, exécutez:
npm install serve-static
3. Créez un fichier nommé server.js avec le code suivant:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("./angularjs"));
app.listen(5000);
Toujours dans la fenêtre de commande, et toujours dans le répertoire dans lequel vous avez installé nodeJS, exécutez:
noeud serveur.js
Accédez à l'URL http: // localhost: 5000/test.html
Cela devrait marcher. Voici la configuration de mon répertoire: C:\NodeJSInstallLocation\angularjs
var connect = require('connect'),
serveStatic = require('serve-static');
connect().use(
serveStatic("angularjs")
).listen(5000);
Vous voudrez peut-être essayer quelque chose comme ça
var express = require('express');
var app = express();
app.use(express.static('angularjs'));