Pourquoi ne puis-je pas accéder à mes fichiers javascript d'Expressjs / Nodejs?
Je commence à expérimenter avec nodejs/expressjs/coffeescript et le jade et le moteur d'affichage.
J'ai la configuration suivante qui d'après ce que je peux le voir dans les exemples qui sont autour de semble assez standard.
app = express.createServer().listen process.env.PORT
app.configure ->
app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
app.set 'view options', layout: true
app.use express.bodyParser()
app.use express.static(__dirname + '/public')
app.use app.router
app.get '/ekmHoliCal/index', (req, res) ->
res.render 'index'
Mon répertoire de la structure est comme suit:
-- ekmHoliCal
-- public
--javascripts
client.js
-- views
index.jade
layout.jade
Le fichier d'index ne contient rien de mais les la ligne:
C'est le fichier d'index
la mise en page.jade fichier contient:
!!! 5
html(lang="en")
head
title Users
script(type="text/javascript", src="http://code.jquery.com/jquery-1.6.4.js")
script(type="text/javascript", src="/ekmholical/javascripts/client.js")
body
div!= body
Lorsque je navigue à localhost/ekmHoliCal/index je me servis de la page index comme prévu. Cependant si j'ai l'affichage de la source, je vois un lien vers jquery :
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js">
et si je clique sur ce lien, bien sûr que je vois la source du fichier jquery.
L'index du fichier source contient également un lien vers mon client.js fichier comme suit:
<script type="text/javascript" src="/ekmholical/javascripts/simon.js"></script>
mais quand je clique sur que je reçois
Ne peut pas OBTENIR /ekmholical/javascripts/client.js
J'ai vu cette question connexe (Express-js ne peut pas OBTENIR mes fichiers statiques, pourquoi?) et ne peuvent pas voir ce que je fais mal
source d'informationauteur Simon Lomax
Vous devez vous connecter pour publier un commentaire.
Votre balise de script a le mauvais chemin. il devrait être
Dans l'express, vous avez défini les suivantes:
Qui raconte express/nœud que le
public
répertoire doit agir en tant que racine de votre serveur web. Tout ce qu'il peut être référencé par/
donc si vous avez également un répertoire CSS de là, vous pouvez utiliser/css/styles.css
Suivantes jusqu'à ce que Paul Armstrong a dit, vous pourriez aussi le faire.
Ce qui vous permettra de référencer votre fichier js comme ceci: