2013-01-10 17 views
22

Bir node.js + express uygulamasına sahibim ve jQuery'yi npm ile kurdum. app.js dosyasındaExpress uygulamasında npm yüklü jQuery nasıl kullanılır?

I jQuery kullanan JavaScript dahil ve jQuery 'tanımlanmamıştır' elde HTML dosyası başlığında

var jquery = require('jquery'); 

kullanılır. Siparişin bir ölçüsü mü yoksa bir şey mi eksik?

+0

Hangi başlıktan bahsediyorsunuz? Javascript kodunuzu gönderir misiniz? –

+1

Asıl soru, jQuery'yi niçin düğüm ile kullanmak istersiniz? Tarayıcı uyumlu olması için eski JavaScript özellikleri için tasarlanmış bir çok kod çalıştırır. Bu ilginç olabilir: [Bir nodejs sunucusunda CPU kullanımının azaltılması] (http://stackoverflow.com/questions/14103617/reduction-of-cpu-utilization-on-a-nodejs-server/14112729) Sunucu tarafında jQuery ile yapabileceğiniz çoğu şey, örneğin [Node.js'de bir nesneyi klonlama] (http://stackoverflow.com/questions/5055746/cloning-an-object-in-node-js/14280000# 14280000), ayrıca Underscore ile de yapabilirsiniz. – esp

+0

@esp Bu sunucu ve istemcinin farklı jQuery dosyaları kullandığı anlaşılmamış durumdayken, NPM'nin istemci tarafında jQuery kuracağını düşündüm – ilyo

cevap

19

jQuery'u npm ile kurduğunuzda, uygulamanızın sunucu tarafında jQuery'u kullanmak istediğinizden (Örn: app.js dosyanızdan). Hala böyle web sayfanıza jQuery eklemeniz gerekir:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

istemci tarafında kullanmak istiyorsanız. Jade kullanıyorsanız, şablona komut dosyası etiketini ekleyin.

+0

Neden sunucu tarafında jquery kullanmalıyım, Jean? –

+1

@GovindRai HTML oluşturmak için DOM'u bir Dize içinde vb. Işlemek içinDaha fazla bilgi edinmek istiyorsanız, bu kütüphaneye bir göz atın, sunucu tarafı için JQuery uygulaması: https://github.com/cheeriojs/cheerio. –

31

sonra (sizin durumunuzda app.js olarak) sunucu komut dosyasına bu satırı ekleyin bir jquery npm modülü ekspres app tarafından hizmet isterseniz: Bundan sonra

app.use('/jquery', express.static(__dirname + '/node_modules/jquery/dist/')); 

size html dosyasına dahil edebilirsiniz :

<script src="/jquery/jquery.js"></script> 
+1

O 'app.use ('/ jquery', express.static (__ birdizin + '/ node_modules/jquery/dist /')) olmalıdır;' aksi teşekkür ederiz @JuanPicado 404 –

+1

olduğunu! Cevabımı güncelledim. –

+0

Bence bu kabul edilen cevap olmalı – Andy

9

Express 4.10.2 kullanıyorum. ve Lukasz Wiktor cevabını takip ettim ama benim için çalışmadı.

app.use('/jquery', express.static(__dirname + '/node_modules/jquery/dist/')); 

Ben de dahil html dosyasında:

<script src="/jquery/jquery.js"></script> 

Yani/jquery/node_modules/jquery/dist/dizinin montaj noktasıdır Ben Lukasz çözümü biraz değiştirmek zorunda kaldı.

3

NPM gelen jquery kullanmak Way: app.js düzen şablonunda

app.use('/assets', [ 
    express.static(__dirname + '/node_modules/jquery/dist/'), 
    express.static(__dirname + '/node_modules/materialize-css/dist/'), 
    ... 
]); 

yılında

:

<script src="/assets/jquery.min.js"></script> 
<script src="/assets/js/materialize.min.js"></script> 

umut bu kod yardım edeceğim!

İlgili konular