2014-06-03 2 views
2

Я пытаюсь поместить код jquery на домашнюю страницу моего приложения node.js. Это то, что я до сих пор:Как использовать JKery на стороне клиента с Node.js и Jade?

script(type='text/javascript' src='public/javascripts/jquery-min.js') 
    script. 
    $(document).ready(function() { 
     alert('hello'); 

    }); 

, который генерирует этот HTML

<script type="text/javascript" src="public/javascripts/jquery-min.js"></script> 


<script>$(document).ready(function() { 
    alert('hello'); 

}); 

</script> 

пока я не получаю уведомление, когда мои старты приложение. Кроме того, когда я пытаюсь посетить этот ресурс непосредственно на http://localhost:3000/public/javascripts/jquery-min.js, я получаю сообщение об ошибке: Cannot GET /public/javascripts/jquery-min.js

Ожидается ли это? Есть ли что-то, что я должен сделать, чтобы код jquery был доступен из моего приложения?

+0

Что вы хотите использовать для своего html-адреса для ваших клиентов? Вы составляете свой собственный маршрутизатор/сервер или используете что-то вроде Express? –

+0

Я использую Express – BigBoy1337

ответ

3

Я предполагаю, что вы не сказали своему серверу Express, где искать статические файлы. Добавьте следующую строку в экспресс-конфигурации:

// Assuming you have a line such as var app = exports.app = express(); 
app.use(express.static(path.join(__dirname, 'public'))); 

... и все, что вы положили в каталог public будет доступна через Express.

+0

hmm no у меня есть. Должен ли я дать мне ошибку GET ресурса, когда я пытаюсь напрямую посетить страницу? Должен ли он идти/публично или он может войти в/public/javascripts? – BigBoy1337

+0

Ваш файл 'jquery-min.js' должен находиться под'/public/javascripts' для Express, чтобы найти его, учитывая, что это путь, указанный в вашем файле Jade. –

+0

Также вы можете проверить, что ваш файл на самом деле называется 'jquery-min.js'? То есть с тире между 'jquery' и' min'. Минимизированные файлы обычно '* .min.js', и именно так вы вызываете его, когда вы вызываете CDN в свой собственный ответ. –

0

ну я не уверен, почему ресурс недоступен. Но с помощью script(type='text/javascript' src='http://code.jquery.com/jquery.min.js') Он начал работать

1

После того, как вы сказали Экспресс где искать статические файлы, как это:

var express = require('express'); 
var app = express(); 

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

Он будет искать файлы в общей папке, так что если вы хотите, чтобы ссылаться на какие-либо файлы, которые вы не должны ставить "/public "перед ним. Так что это не будет работать:

script(type='text/javascript' src='public/javascripts/jquery-min.js') 

Но это будет:

script(type='text/javascript' src='javascripts/jquery-min.js') 

Для Geting файлы непосредственно он работает то же самое, вы должны опустить «/ общественность» и использовать его как это:

http://localhost:3000/javascripts/jquery-min.js 
Смежные вопросы