2016-03-28 26 views
1

'dan geliyordu. Eğer bu açık görünüyorsa özür dilerim, ama Node için yeni ve çözüm bulamadım.Bir gulpfile'ı simgelemek ama yol symlinkini almak

Şu anda bir depoda birden fazla sitemizin bulunduğu bir projede çalışıyorum ve hepsinin gulp ile yapılması gerekiyor. Her siteyi oluşturma süreci esasen aynıdır, bu yüzden her bir sitenin alt dizininden ve repo'nun köküne gulpfile.js'u taşımak ve her bir alt dizine bağlamak. Bu bizi birden fazla gulpfiles tutmaya ve node_modules kopyalamaya ihtiyaç duymadan kurtarır.

Kük dosyalamadan sonra küçük bir sorun dışında harika çalıştıktan sonra gulpfile sembolik bağlantı kurup npm install çalıştırın; isimleri, sürümlerini vb. almak için her sitenin dizinindeki package.json dosyasına başvurmamız gerekir. Gulpfile kelimesini bağladığımda,her zaman repo'nun kökünde package.json'a gider ve sembolik linkin çağrıldığı yerde değil (ve bu mantıklıdır, fakat ihtiyacım olan şey değil). Ben gulpfile için bu sembolik köprü yapısını korumak, ancak require('./package.json') kararlılığını olabilir nasıl

söylemek ./Site_1/package.json yerine ./package.json Gulp Gulpfile bulunduğu dizine geçerli çalışma dizini değiştirir Varsayılan olarak

. 
├── Site_1 
│   ├── README.md 
│   ├── config.yml 
│   ├── dist 
│   ├── gulpfile.js -> ../gulpfile.js 
│   ├── package.json 
│   └── src 
├── Site_2 
│   ├── README.md 
│   ├── config.yml 
│   ├── dist 
│   ├── gulpfile.js -> ../gulpfile.js 
│   ├── package.json 
│   └── src 
├── package.json 
├── gulpfile.js 
├── node_modules/ 

cevap

2

(yani Sizin durumunuzda bir sembolik bağlantı), yani aşağıdakiler çalışmalıdır:

var path = require('path'); 

var packageJson = require(path.join(process.cwd(), 'package.json')); 
+0

tam olarak neye ihtiyacım vardı! – Hiroshi

İlgili konular