2015-11-20 24 views
6

npm'yi "npm install" çalıştırırken başka bir package.json kullanmasını nasıl söyleyebilirim?npm install: package.json'u belirtin?

İhtiyacım olan her şey npm install -f packages-win32.json mu Yoksa buna ulaşmak için bir numara mı yoksa başka bir yaklaşım mı var?

Tüm npm modülleri çapraz platform olmadığından ve platform başına başka paketler kullanmak istiyorum.

+1

Tüm bağımlılıkları tüm platformlara ve kodunuzun içine yükleyebilir ve bunları platform tabanlı olarak isteyebilirsiniz. Başka bir seçenek de, kodunuzun içine [Bu Örnek] (http://stackoverflow.com/questions/27722576/can-i-specify-optional-module-dependencies-in-npm-package-json) gibi kurmaktır. Ya da bağımlı bağımlılıkları kullanmak. – Ziki

+1

Bence en temiz yaklaşım, bir paketi veya diğeri de platforma dayalı mantığı içeren bir paketi npm'ye yayınlamak olurdu. Bu, yalnızca package.json dosyalarını kaydedip, platforma göre doğru olanı yeniden adlandıran bir kaynak kontrol kancası kullanabileceğinizi söyledi. –

+2

Olası kopyası [npm için "package.json" yerine npm için farklı dosya adı kullan) (http://stackoverflow.com/questions/25991082/use-different-filename-for-npm-than-package-json) – ishandutta2007

cevap

1

package.json dosyasını farklı bir belirtemezsiniz, aksi halde, yalnızca package.json adlı dosyada bir dosya adı verilir.

ya os

try { 
    thing = require('thing'); 
} 
catch(error) { 
    thing = require('other'); 
} 

onları denemek sadece çalışmak paketleri ile bazı sorunlar varsa da üzeri os fark edebilir:

const _isWin = /^win/.test(process.platform); 

Ya sence de eğer os.platform() kullanmak < = 5 ...

Nolu desteğin desteklenmesi gerekebilir.

İlgili konular