Nasıl node.js projenin kök klasörüne göreli zaman için yapmak gerekli?
Her zaman benim proje kök ve cari modülüne göre değil dosyalarımı gerektirecek istiyorum.
Eğer https://github.com/visionmedia/express/blob/2820f2227de0229c5d7f28009aa432f9f3a7b5f9/examples/downloads/app.js line 6 bakarsanız örneğin görürsünüz
express = require('../../')
Bu gerçekten kötü IMO. Tüm örnekler tek bir düzey köke daha yakın koymak istiyorum düşünün. 30'dan fazla örnek ve her örnek içinde birçok kez güncellemek istiyorum çünkü imkansız olurdu. Bunun için:
express = require('../')
Eğer bir dize projenin kök klasörüne göre o zaman bir dolar ile başlıyor. benim çözüm root göre özel bir durum olurdu:
Herhangi bir yardım, teşekkür ve takdir edilir
Güncelleme 2
Şimdi bir şekilde yazmak için izin verir ve sunucu üzerinde müşteri ve çalışan require.js kullanıyorum. Require.js ayrıca özel yollar oluşturmak için izin verir.-«
Güncelleme 3
Şimdi webpack yudum aldım ve imkanı gerektirir sunucu tarafında modülleri işlemek için kullanıyorum. Bakın işte gerekçesi: http://hackhat.com/p/110/module-loader-webpack-vs-requirejs-vs-browserify/
CEVAP
Browserify Handbook gerçekten ilginç bir bölüm var:
kaçınarak ../../../../../../..
Bir uygulama değil, her şey düzgün ortak etmesinin önünü ait ve özel etmesinin önünü kurma yükü ya da git repo hala. oldukça büyük, birçok durumlarda. Burada kaçınmak için bazı yaklaşımlar vardır
../../../../../../../
göreli yolları sorun.node_modules
İnsanlar bazen uygulamaya özel modüller koyarak itiraz senin iç kontrol ne kadar açık olmadığı node_modules ayrıca üçüncü parti kontrol etmeden modülleri etmesinin önünü gelen modüller.
Cevap oldukça basit! Eğer sana
.gitignore
Bir dosya varsanode_modules
yoksayar:node_modules
Sadece iç her
!
ile bir istisna ekleyebilirsiniz uygulama modülleri:node_modules/* !node_modules/foo !node_modules/bar
Lütfen dikkat edinunignoreeğer üst ise bir alt dizin, zaten görmezden geldi.
node_modules
, görmezden gelmek yerine, o yüzden her dizin görmezdeniçindeİlenode_modules
node_modules/*
hile, ve sonra özel durumlar ekleyebilirsiniz.Uygulama şimdi her yerde 18 *edebilecektir* ya çok büyük ve kırılgan bir akrabası olmadan
require('bar')
yol.Sen modülleri bir sürü var ve onlardan daha fazla ayrı tutmak istiyorsanız üçüncü parti modülleri etmesinin önünü yüklü, hepsini koyabilirsiniz
node_modules/app
gibinode_modules
: Bir dizin altındanode_modules/app/foo node_modules/app/bar
23* *mümkün olacak şimdi ya
require('app/bar')
uygulamanızda herhangi bir yerden.** 25, sadece eklenti
node_modules/app
için bir istisna:node_modules/* !node_modules/app
Uygulamanız dönüşümleri paketi yapılandırılmış olsaydı.json, ayrı bir paket oluşturmanız gerekir.kendi json alanına dönüştürmek
node_modules/foo
node_modules/app/foo
bileşen dizini dönüşümler modül sınırları uygulamak arasında yok çünkü. Bu olacak modüller kendi içinde yapılandırma değişiklikleri karşı daha güçlü olun uygulaması kolay bağımsız paketleri yeniden olacak uygulama dışında.sembolik link
Eğer başka bir uygulama üzerinde çalışıyorsanız kullanışlı hile sembolik ve
lib/
sembolik windows destek gerek yok yaapp/
node_modules
içine klasör. Proje kökünden, yapmak:ln -s ../lib node_modules/app
ve şimdi her yerde proje dosyaları gerektirir yapabileceksiniz 34 **
require('app/foo.js')
lib/foo.js
yaparak.özel yolları
Bazı yerlerde
$NODE_PATH
kullanma hakkında konuşmak görebilirsiniz değişken çevre veya 38* *düğüm dizinleri eklemek ve browserify modülleri bulmak için.En diğer platformlar, yol shell tarzı bir dizi kullanarak farklı
$NODE_PATH
ile dizin düğümü göre değil, olumlu.node_modules
etkili kullanma dizin yapma.Bu uygulama daha sıkı bir çalışma ile birleştiğinde olmasıdır çok fazla hareket var ve ortam yapılandırma bölümleri uygulama sadece ortamı Kur düzgün çalışır.
düğüm ve iki destek ama kullanımını vazgeçirmek browserify
$NODE_PATH
.
Nasıl bir HTTP node.js istek yapmak iç...
Nasıl node.js Base64 kodlama yapmak iç...
Hükümdar her zaman Yüce metin olarak g...
Nasıl Node.js zaman uyumsuz fonksiyonl...
Bir yapmak için nasıl <div> her ...