2016-03-30 22 views
1

yükleme hakkında bazı zımni bilgiler eksik Node-googlemaps npm paketini https://github.com/moshen/node-googlemaps adresinde kullanmaya çalışıyorum. Belgeler, kullanıcının genel NodeJS paketi yükleme işlemini bildiğini varsayar.Düğüm googlemaps nasıl kurulur? Düğüm paketleri

Yani ilk ben NPM ile yükleyin:

npm install googlemaps 

Şimdi benim server.js kök dosyasında, ben gerçek dosya almak gerektiğini biliyorum. Benzer bir şey:

var gmaps = require('./node_modules/googlemaps/libs/index'); 

Ama bu doğru değil. Belki de NodeJS paketlerini yüklemek için bazı sözleşmeler eksik. Bu durumda öğrenmeyi çok isterim!

var publicConfig = { 
    key: '<YOUR-KEY>', 
    stagger_time:  1000, // for elevationPath 
    encode_polylines: false, 
    secure:    true, // use https 
    proxy:    'http://127.0.0.1:9999' // optional, set a proxy for HTTP requests 
}; 
var gmAPI = new GoogleMapsAPI(publicConfig); 

Ama bir hata "GoogleMapsAPI" tanımlı değil almak:

README.md şöyle yapılandırma kurma söz eder. Mantıklı, js dosyasını almadım. Peki bunu nasıl yaparım? Projenize NodeJS paketlerini yüklemek/dahil etmek için standart süreç nedir?

cevap

2

İki şey: Projeniz için bir paket yüklediğinizde o projenizin package.json dosyasında izlenebilir böylece

a) Eğer, --save seçeneğini kullanmalıdır. Diğer şeylerin yanı sıra, node_modules dizininizi depodan hariç tutabileceğiniz için, sürüm kontrolü için bir şeyler yaptığınızda yardımcı olur.

npm install googlemaps --save 

b) NPM bir paket için require aradığınız zaman, tam yolunu yazın gerek yok! Sadece kullanın: Otomatik olarak size paketin 'Ana' dosyası olarak tanımlanan şey ihraç nesne alırsınız

var GoogleMapsAPI = require('googlemaps'); 

var publicConfig = { 
    key: '<YOUR-KEY>', 
    stagger_time:  1000, // for elevationPath 
    encode_polylines: false, 
    secure:    true, // use https 
    proxy:    'http://127.0.0.1:9999' // optional, set a proxy for HTTP requests 
}; 

var gmAPI = new GoogleMapsAPI(publicConfig); 

- bu durumda, lib/index.js olduğunu GoogleMapsAPI yapıcı ihraç ediyor.

+0

Şu anda bilgisayarımda değilim, sadece merak ediyorum, yazacağım var gmaps = require ('googlemaps'); '' gmAPI = yeni GoogleMapsAPI (publicConfig); NPM aynı zamanda sunucu uygulamamda evrensel olarak "gmaps" a erişim sağlıyor mu? –

+0

Ah, hayır - 'need' nadiren (eğer varsa?) Çevreye küresel değişkenler sağlarsa, genellikle onu kullandığınız her dosyada modül gerektirecektir. Kaynak koduna bakıldığında, 'gerektiren' ("googlemaps") 'ihracatı * olan değişken *' GoogleMapsAPI''dır. Daha açık olmak için cevabımı güncelleyeceğim. –

+0

Güncelleme! Belgelerin, modülden ihraç edilenler hakkında garip bir şekilde belirsiz olduğunu kabul ediyorum ... –