Я начинаю экспериментировать с nodejs / expressjs / coffeescript и механизмом просмотра jade.
У меня есть следующая настройка, которая из того, что я вижу из приведенных примеров, выглядит довольно стандартной.
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'
Моя структура каталогов следующая:
-- ekmHoliCal
-- public
--javascripts
client.js
-- views
index.jade
layout.jade
Файл индекса не содержит ничего, кроме строки:
Это индексный файл
Файл layout.jade содержит:
!!! 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
Когда я перехожу на localhost / ekmHoliCal / index, меня обслуживают, как и ожидалось, на странице индекса. Однако, если я просматриваю источник, я вижу ссылку на jquery:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js">
и, если я нажму на эту ссылку, то увижу источник файла jquery.
Источник индексного файла также содержит ссылку на мой файл client.js следующим образом:
<script type="text/javascript" src="/ekmholical/javascripts/simon.js"></script>
но когда я нажимаю на это, я получаю
Не удается получить /ekmholical/javascripts/client.js
Я видел этот связанный вопрос ( Express-js не может получить мои статические файлы, почему? ) и не видит, что я делаю неправильно