2012-09-10 25 views
5

İlk olarak, Node.js. ile ilgili tamamen yeni bir geliştiriciyim.NodeJS modül gerektiriyor

Örnek bir ifade uygulaması oluşturmaya başladım ve bu konuda daha fazla bilgi edinmek için ek bir modül kullanmak istedim. Npm ile "mysql" modülünü tamamladım.

Ben app başında bunu eklemiş en, örneğin:.

var mysql = require('mysql'); 

şimdi, zaten bildiği gibi, dizin yolları içinde bir index.js dosyası oluşturduk ekspres i istiyorum çalışmıyor komutu besbelli

var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : 'root', 
}); 

kullanarak vererek bu index.js sayfadan db bağlanmak için mysql değişkeni erişmek mümkün ama "500 ReferenceError: tanımlanmadı mysql".

Elbette, bu değişkeni geçmem gerektiğinden eminim, ama gerçekten hiçbir fikrim yok, iyi bir ruh beni aydınlatabilir mi? Bunun çok küçük ve basit bir şey olduğunu biliyorum, ama ben zaten bu çalıştı ve çalışmaya görünmüyor:

... app.get('/', routes.index, mysql); ... 

ve index.js tarih: node.js yılında

exports.index = function(req, res, mysql){ ... 

cevap

5

, Kullanmanız gereken dosyalarda require modüllerini kullanmalısınız; Eğer, o dosyanın en üstünde, sizin routes/index.js dosyada mysql paketini kullanmak istiyorsanız eğer öyleyse,

var mysql = require('mysql'); 

Birden fazla dosyada bir modül gerektiren sona erebilir yapmak; Bu birçok yönden, normaldir ve iyi bir şey (herhangi bir ad alanlarının sorunları, vs.) modülleri ve paketleri hakkında daha fazla bilgi edinmek istiyorsanız

, bu iki Screencasts ilginizi çekebilir:

0

normal bir tepki olurdu app.get() aracılığıyla mysql nesneyi geçerek ama ov konum eminim Düşünmek.

routes/index.js'un en üstünde var mysql = require('mysql');'u içermek kadar basittir. Aslında, tüm veritabanı etkileşimleri rotalarınızda yapılmışsa, app.js içinde mysql gerekmesine bile gerek duymayabilirsiniz.