J'ai réduit mon code à l'application express-js la plus simple que j'ai pu créer:
var express = require("express"),
app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);
Mon répertoire ressemble à ceci:
static_file.js
/styles
default.css
Pourtant, lorsque j'accède, http://localhost:3001/styles/default.css
j'obtiens l'erreur suivante:
Cannot GET / styles /
default.css
J'utilise express 2.3.3
et node 0.4.7
. Qu'est-ce que je fais mal?
Réponses:
Essayez
http://localhost:3001/default.css
.Pour avoir
/styles
dans votre URL de demande, utilisez:Regardez les exemples sur cette page :
la source
path.join
pour surmonter les problèmes de séparateur d'annuaire multiplateforme. path.join (__ dirname, '/')J'ai le même problème. J'ai résolu le problème avec le code suivant:
Exemple de requête statique:
J'ai besoin d'une solution plus simple. Existe-t-il?
la source
default.css
devrait être disponible àhttp://localhost:3001/default.css
Le
styles
inapp.use(express.static(__dirname + '/styles'));
indique simplement à express de rechercher dans lestyles
répertoire un fichier statique à servir. Il ne fait pas (confusément) partie du chemin sur lequel il est disponible.la source
/public
qui acss
,js
, desimg
dossiers afin que vous puissiezhttp://localhost:3001/css/default.css
:)Ce travail pour moi:
la source
Dans votre server.js:
Vous avez déclaré express et app séparément, créez un dossier nommé «public» ou comme vous le souhaitez, et pourtant vous pouvez accéder à ces dossiers. Dans votre modèle src, vous avez ajouté le chemin relatif de / public (ou le nom de votre dossier destiné aux fichiers statiques). Méfiez-vous des bars sur les itinéraires.
la source
Ce qui a fonctionné pour moi, c'est:
Au lieu d'écrire
app.use(express.static(__dirname + 'public/images'));
dans votre app.jsEcrivez simplement
app.use(express.static('public/images'));
c'est-à-dire supprimer le nom du répertoire racine dans le chemin. Et puis vous pouvez utiliser efficacement le chemin statique dans d'autres fichiers js, par exemple:
J'espère que cela t'aides :)
la source
J'utilise Bootstrap CSS, JS et Fonts dans mon application. J'ai créé un dossier appelé
asset
dans le répertoire racine de l'application et je place tous ces dossiers à l'intérieur. Puis dans le fichier serveur ajouté la ligne suivante:Cette ligne me permet de charger les fichiers qui se trouvent dans le
asset
répertoire à partir du/asset
préfixe de chemin comme:http://localhost:3000/asset/css/bootstrap.min.css
.Maintenant, dans les vues, je peux simplement inclure CSS et JS comme ci-dessous:
la source
pour servir des fichiers statiques (css, images, fichiers js) en deux étapes seulement:
passer le répertoire des fichiers css au middleware express.static intégré
pour accéder aux fichiers ou images css, il suffit de taper l'URL http: // localhost: port / filename.css ex: http: // localhost: 8081 / bootstrap.css
note: pour lier des fichiers css à html, il suffit de taper
<link href="file_name.css" rel="stylesheet">
si j'écris ce code
pour accéder aux fichiers statiques, tapez simplement url: localhost: port / css / filename.css ex: http: // localhost: 8081 / css / bootstrap.css
note pour lier des fichiers css avec html il suffit d'ajouter la ligne suivante
la source
celui-ci a fonctionné pour moi
la source
Essayez d'y accéder avec http: // localhost: 3001 / default.css .
Vous lui donnez en fait le nom du dossier, c'est-à-dire les styles et non votre sous-URL.
la source
Je trouve mon fichier css et j'y ajoute un itinéraire:
Ensuite, cela semble fonctionner.
la source
.use()
et lesexpress.static()
méthodes pour envoyer où vous servez vos fichiers. Sinon, vous aurez un de ces routeurs par fichier dans votre répertoire public et c'est beaucoup de frais généraux à maintenir.En plus de ce qui précède, assurez-vous que le chemin du fichier statique commence par / (ex ... / assets / css) ... pour servir les fichiers statiques dans n'importe quel répertoire au-dessus du répertoire principal (/ main)
la source
si votre configuration
puis
mettez app.js
et référez-vous à votre style.css: (dans certains fichiers .pug):
la source
dossier du projet Nodejs .
Utilisation
app.use( express.static('public'));
et dans le
index.html
bon chemin des scripts pour<script type="text/javascript" src="/javasrc/example.js"></script>
Et maintenant, tout fonctionne bien.
la source
répertoire statique
vérifier l'image ci-dessus (répertoire statique) pour la structure de dir
la source