Я начинаю экспериментировать с nodejs/expressjs/coffeescript и механизмом просмотра нефрита.
У меня есть следующая настройка, которая из того, что я вижу из окружающих примеров, кажется довольно стандартным.
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>
но когда я нажимаю на него, я получаю
Невозможно GET/ekmholical/javascripts/client.js
Я видел этот связанный вопрос (Express-js не может получить мои статические файлы, почему?) и не может видеть, что я делаю неправильно