2013-01-05 8 views
1

My jade template не может найти средства начальной загрузки. Он выбрасывает следующие 404s. (/ loadMedia - это маршрут, который загружает файл layout.jade, который является успешным.)Почему Джейд не может найти мои ресурсы?

Что я делаю неправильно?

GET /loadMedia 200 19ms - 572 
GET /assets/js/jquery-1.8.3.min.js 404 2ms 
GET /assets/css/bootstrap.min.css 404 2ms 
GET /assets/js/bootstrap-dropdown.js 404 1ms 
GET /assets/js/bootstrap.min.js 404 2ms 
GET /assets/js/bootstrap.js 404 3ms 

App.configure:

app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.set('views', __dirname + '/views/templates'); 
    app.set('view engine', 'jade'); 
    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname, 'public')); 
}); 

Моя структура папок:

. 
├── README.md 
├── app.js 
├── node_modules 
│   ├── express 
│   ├── jade 
│   └── mongodb 
├── package.json 
├── routes 
└── views 
    ├── assets 
    │   ├── css 
    │   │   ├── bootstrap-responsive.css 
    │   │   ├── bootstrap-responsive.min.css 
    │   │   ├── bootstrap.css 
    │   │   └── bootstrap.min.css 
    │   ├── img 
    │   └── js 
    │    ├── bootstrap-dropdown.js 
    │    ├── bootstrap.js 
    │    ├── bootstrap.min.js 
    │    └── jquery-1.8.3.min.js 
    └── templates 
     ├── layout.jade 
     └── loadMedia.jade 

Вот мой layout.jade:

!!! 5 
html 
    head 
    script(type="text/javascript", src="../assets/js/jquery-1.8.3.min.js") 
    script(type='text/javascript', src='../assets/js/bootstrap.js') 
    script(type='text/javascript', src='../assets/js/bootstrap.min.js') 
    script(type='text/javascript', src='../assets/js/bootstrap-dropdown.js') 
    link(rel='stylesheet', type='text/css', href='../assets/css/bootstrap.min.css') 
    style 
     body 
     { 
     padding-top: 40px; 
     padding-bottom: 40px; 
     background-color: #f5f5f5; 
     } 
     .search-query 
     { 
     margin-top: 5px; 
     margin-right: 2px; 
     } 
+0

Можете ли вы, что ваш код конфигурации приложения. хотел бы знать, как вы сказали express для обработки статических файлов. – scartag

+0

@scartag Добавлено. – crzrcn

+0

Я добавил ответ. – scartag

ответ

2

Поместите папку ваших активов в обществе папку и удалить ведущий «../» из scri pt src ссылка.

Если у вас нет общедоступной папки, создайте ее, так как вы уже ссылаетесь на нее в своей конфигурации. создайте его в корне приложения, в том же месте, где у вас есть виды и маршруты.

Не уверен, что у вас установлена ​​эта линия правильно, попробуйте изменить это.

app.use(express.static(__dirname + '/public')); 

Тогда вам также нужно изменить ссылку на сценарий.

script(type="text/javascript", src="../assets/js/jquery-1.8.3.min.js") 

должен быть

script(type="text/javascript", src="assets/js/jquery-1.8.3.min.js") 
+0

Хотя я не получаю 404s сейчас, он не загружает js/css. Я получаю базовое css и поведение js. Есть идеи? – crzrcn