7
votes

Node JS - Chemins HTML

J'ai récemment le problème que je n'obtiens pas comment les chemins de HTML dans le nœud JS fonctionnent. Je lie les scripts de mon index.html comme normal - relatif au fichier de l'index.html (fichier nœud.js et index.html sont dans le même répertoire "res.sendfile (__ dirname + '/index.html');"); Mais si je l'ouvre dans le navigateur exécuté avec noeud JS, les statistiques "ne peuvent pas obtenir blabla" pour les scripts. Au lieu de cela, ouvrez-le en cliquant simplement sur index.html sans nœud JS ces chemins fonctionnent! Comment dois-je écrire des chemins HTML pour le nœud JS?

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server),
    port = Number(process.env.PORT || 3000),

server.listen(port);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});


1 commentaires

Ce code fonctionne sur mon PC en fait. XD. Peut-être que quelque chose ne va pas avec les autorisations?


5 Réponses :


3
votes

Regardez ceci:

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});


0 commentaires

0
votes

Vous devez configurer Express sur les fichiers statiques du serveur, par exemple, mettre tous les fichiers statiques sous un répertoire appelé "Public"

p>

var express = require('express');
var app = express();
var path = require('path');

// viewed at http://localhost:8080
app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
});

app.listen(8080);


0 commentaires

-1
votes

Lorsque vous écrivez: xxx pré>

Il ne servira que le fichier index.html, et non les autres scripts et feuilles de style JS que vous avez ajoutés dans votre HTML. P>

là sont de 2 façons de résoudre ce problème: p>

pour les deux, je suggérerais d'utiliser le module "chemin". p>

solution 1: p>

var path = require('path')
app.use(express.static('public'))
app.get('/',function(req,res){
    res.sendFile(path.resolve(__dirname,'/index.html')
})


0 commentaires

0
votes

Vous pouvez utiliser

app.use(express.static(path.join(__dirname, "folder-name")));


0 commentaires

0
votes

Habituellement, je mets tous mes fichiers statiques dans un dossier séparé nommé "Actif" Je configurie une voie statique comme indiqué ci-dessous: Entrez le code ici CODE>

p>

app.use('/assets', express.static('assets'));


0 commentaires