Надеюсь, у вас все хорошо.
Я неожиданно не могу отобразить любой внешний JavaScript в шаблонах Jade! Чтобы докопаться до сути вещей, я сократил ее до минимума:
Узел 0.6.11, Экспресс 2.5.8, нефрит 0,20,3
app.js
var express = require('express')
, routes = require('./routes');
var app = module.exports = express.createServer();
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
app.get('/', function(req, res){
res.render('index', { title: 'Express' });
});
app.listen(3000);
layout.jade
!!!
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
script(type='text/javascript', src='/javascripts/script.js')
body!= body
script.js
alert('hello!');
Мне кажется, что когда я запускаю сервер и загружаю http://localhost:3000/,, я должен сразу получить "привет!" сообщение, но оно просто бежит прямо на обычную страницу.
Более того, если я вручную наберу
script
alert('hello!')
в шаблон layout.jade Я получаю сообщение так, как должно. Просто не загружается статический скрипт. И я, конечно, проверил, что «script.js» находится в «/ public / javascripts /», как и должно быть
Любой совет будет очень кстати !!!
Заранее спасибо