SORU
11 NİSAN 2011, PAZARTESİ


dış vardır .js node.js app dosyası

App.js düğüm bir uygulama var. Bu dosya büyümeye başlıyor, "" ya da "vardır" app.js dosya. ihtiyacım olan bazı diğer dosyalarda programın bir kısmını taşımak istiyorum

Şey gibi çalışıyorum:

// Declare application
var app = require('express').createServer();

// Declare usefull stuff for DB purposes
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;

// THE FOLLOWING REQUIRE DOES NOT WORK
require('./models/car.js');

içinde car.js:

// Define Car model
CarSchema = new Schema({
  brand        : String,
  type : String
});
mongoose.model('Car', CarSchema);

Hata var:

ReferenceError: Schema is not defined

Sadece car.js (yerine aynı app.js her şeyi dosyası olması) node.js bunun için particuliar bir yolu var yüklenen içerik için arıyorum ?

CEVAP
11 NİSAN 2011, PAZARTESİ


Herkes üst düzeyde var foo öyle bir vurgu yer için global bir değişken oluşturmaz. Eğer global bir değişken istiyorsanız o zaman global.foo yazın. ama biztümbiliyorum bütünsel kötüdür.

Eğer birisi kim kullanır bütünsel böyle bir node.js proje olmuştum istiyorum yeniden onları gelince orada sadece çok az durumlarda kullanmak için (bir kaç istisna dışında ama bu değil).

// Declare application
var app = require('express').createServer();

// Declare usefull stuff for DB purposes
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;

require('./models/car.js').make(Schema, mongoose);

car.js

function make(Schema, mongoose) {
    // Define Car model
    CarSchema = new Schema({
      brand        : String,
      type : String
    });
    mongoose.model('Car', CarSchema);
}

module.exports.make = make;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • graham025

    graham025

    25 NİSAN 2006
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007