EmberJS - Bağımlılıkları Yönetme

Ember, NPM için package.json ve Bower için bower.json içinde tanımlanan bağımlılıkları yönetmek için NPM ve Bower kullanır . Örneğin, Ember uygulamasını geliştirirken Ember tarafından yüklenmeyen stil sayfalarınız için SASS'yi yüklemeniz gerekebilir. Bunu başarmak için, yeniden kullanılabilir kitaplıkları paylaşmak için Ember Eklentilerini kullanın . Herhangi bir CSS çerçevesi veya JavaScript tarih seçici bağımlılıkları yüklemek istiyorsanız, Bower paket yöneticisini kullanın.

Eklentiler

Kor CLI aşağıdaki komutu kullanarak Kor Eklentileri yüklemek için kullanılabilir -

ember install ember-cli-sass

Kor komutu yüklemek ilgili yapılandırma dosyasına tüm bağımlılıklarını kurtaracak.

Bower

HTML, CSS, JavaScript veya resim dosyalarının bileşenlerini yöneten web için bir paket yöneticisidir. Temel olarak tüm paketleri korur ve izler ve yeni güncellemeleri inceler. Ember CLI projesinin köküne yerleştirilen uygulamaları takip etmek için bower.json yapılandırma dosyasını kullanır .

Aşağıdaki komutu kullanarak proje bağımlılıklarını kurabilirsiniz -

bower install <dependencies> --save

Varlıklar

Üçüncü taraf JavaScript'i projenizin bir Eklenti veya Bower paketi olarak bulunmayan satıcı / klasörüne yerleştirebilir ve robots.txt, favicon vb. Gibi kendi varlıklarını projenizin public / klasörüne yerleştirebilirsiniz. Ember uygulamasını geliştirirken Ember tarafından yüklenmeyen bağımlılıklar, ember-cli-build.js manifest dosyası kullanılarak dahil edilmelidir .

AMD JavaScript modülleri

Varlık yolunu ilk argüman olarak ve modüllerin ve dışa aktarımların listesini ikinci argüman olarak verebilirsiniz. Bu varlıkları ember-cli-build.js manifest dosyasına şu şekilde dahil edebilirsiniz:

app.import('bower_components/ic-ajax/dist/named-amd/main.js', {
   exports: {
      'ic-ajax': [
         'default',
         'defineFixture',
         'lookupFixture',
         'raw',
         'request'
      ]
   }
});

Ortama Özgü Varlıklar

Ortam adı olan birinci parametre olarak nesne tanımlanarak farklı varlıklar farklı ortamlarda kullanılabilir ve bir nesnenin değeri o ortamda varlık olarak kullanılmalıdır. In kor-cli-build.js bildirim dosyası, siz içerebilir -

app.import ({
   development: 'bower_components/ember/ember.js',
   production:  'bower_components/ember/ember.prod.js'
});

Diğer varlıklar

Tüm varlıklar public / klasörüne yerleştirildikten sonra dist / dizinine kopyalanacaklar. Örneğin, public / images / favicon.ico klasörüne yerleştirilmiş bir favicon'u kopyalarsanız , bu dist / images / favicon.ico dizinine kopyalanacaktır . Üçüncü taraf varlıklar, satıcıya / klasöre manuel olarak veya import () seçeneği aracılığıyla Bower paket yöneticisi kullanılarak eklenebilir . İmport () seçeneği kullanılarak eklenmeyen varlıklar son yapıda mevcut olmayacaktır.

Örneğin, varlıkları dist / klasörüne aktaran aşağıdaki kod satırını düşünün .

app.import('bower_components/font-awesome/fonts/fontawesome-webfont.ttf');

Yukarıdaki kod satırı, dist / font-awesome / fonts / fontawesomewebfont.ttf dosyasında bir font dosyası oluşturur . Yukarıdaki dosyayı aşağıda gösterildiği gibi farklı bir yola da yerleştirebilirsiniz -

app.import('bower_components/font-awesome/fonts/fontawesome-webfont.ttf', {
   destDir: 'assets'
});

Yazı tipi dosyasını dist / assets / fontawesome-webfont.ttf dizinine kopyalayacaktır .