Base serveur web avec node.js et express pour servir des fichiers html et des actifs
Je suis en train de faire quelques frontend expériences et j'aimerais avoir un serveur de base pour démarrer rapidement un projet et de servir les fichiers (un index.html fichier + un peu de css/js/img fichiers). Donc, je suis en train de faire quelque chose avec node.js et express, j'ai joué avec les deux déjà, mais je ne veux pas utiliser un moteur de rendu cette fois, puisque je vais avoir un seul fichier statique, avec ce code, j'obtiens le fichier html mais pas les actifs (erreur 404):
var express = require('express'),
app = express.createServer();
app.configure(function(){
app.use(express.static(__dirname + '/static'));
});
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.listen(3000);
Est-il un moyen simple de le faire (dans un fichier si possible) ou Express requiert l'utilisation d'un point de vue et le moteur de rendu ?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
une solution de ce genre dans node.js(le lien ne fonctionne plus), comme je l'ai blogué sur l'avant.Le résumer, installer connecter avec
npm install connect
.Puis collez ce code dans un fichier appelé
server.js
dans le même dossier que votre code HTML/CSS/JS fichiers.Maintenant naviguer vers ce dossier dans votre terminal et exécutez
node server.js
, ce qui vous donnera un serveur web temporaire àhttp://localhost:1337
has no method 'static'
connect.static is not a function
Je suis tombé sur ce parce que j'ai une situation similaire. Je n'ai pas besoin ou comme modèles. Tout ce que vous placez dans le public/sous-répertoire express arrive servi sous forme de contenu statique (comme Apache). J'ai donc placé mon index.html et sendfile pour traiter les demandes avec pas de fichier (par exemple: OBTENIR http://mysite/):
app.get(/^(.+)$/, function(req, res) { res.sendfile('public/' + req.params[0]); });
express deprecated res.sendfile: Use res.sendFile instead
Code suivant a travaillé pour moi.
il charge la page avec des actifs