2016-03-18 41 views
8

Ayrıca, daktilo tabanlı olan başka bir kitaplık tarafından tüketilecek bir typescript bileşenleri kitaplığı oluşturmaya çalışıyorum. Şu anda, TS dosyalarını tüketmek için yükleyici olarak ts-loader ile paketlememizi gerçekleştirmek için webpack kullanıyoruz.Typescript ile bir Webpack Bundled Library oluşturma

Aşağıdaki örnek kitaplık için .d.ts dosyalarını nasıl oluşturacağınızdan emin değilim. Typescript .d.ts dosyalarını (declaration true değerine ayarlı) oluşturur, ancak her bir modülde, tüketiciler tarafından kullanılabilecek bir .d.ts dosyasına ihtiyacım olan bir dosyadır.

https://github.com/raybooysen/typescript-webpack-example

Benim soru, bunu gerçekleştirmek için nasıl bir kurallı örnek var mı? Tüketicilerin bu .d.ts dosyalarını doğru bir şekilde içe aktarmasının bir yolu var mı? Şu anda ağda çok az dokümantasyon ve örnekler var gibi görünüyor ve herhangi bir yardım için minnettar olacaktır.

+0

Eğer hırıltı veya yudum kullanarak ve 'tsc --declaration' komutunu veya eğer bir post inşa komutunu kullanarak içine baktım mı: İşte

bir WebPack eklentisi olarak nasıl ayarlanacağı bir örnektir VS kullanarak? – Igor

+0

Biz gerçek olarak ayarlanmış beyanı vardır tsconfig.json dosyasını kullanarak ts derleyici çalışır ts-yükleyici kullanın. Ancak, bu bir d.ts dosya PER modülü oluşturur. Eğer bu iyi değilse, öyle hissetmiyorsa, bu durum aynı zamanda yazıya dayalı bir tüketici projesi tarafından nasıl tüketilebilir. –

+0

@RayBooysen sonunda nasıl çözdünüz? Son çözümünüzü bilmek yardımcı olabilir. –

cevap

1

Benim sorum şu ki, bunun nasıl gerçekleştirileceğine dair kanonik bir örnek var mı? Bu .d.ts alabilirsiniz typescript tüketiciler bir modül tüketici olarak paket kullanmak istemiyorsanız genellikle doğru

You dosyaları bir yolu var mı. Bu, kütüphaneyi son bir web sitesi artefaktı olarak kullanan kişinin işi. Bu, düğüm modülünüze yerleştirilmiş yapay nesnelerinizde birbirinizin yanında yalnızca foo.ts/foo.js olduğunu gösterir. Bunlar, TypeScript derleyicisiyle olduğu gibi tüketilebilir.

Daha

https://basarat.gitbooks.io/typescript/content/docs/quick/nodejs.html

+0

"Genelde paketi bir modül tüketici olarak kullanmak istemezsiniz" konusuna emin değilseniz Değilse ne kullanırım? Kütüphanenin bağımlı olmak istemediğim bağımlılıklar olabileceğinden, ham kaynağı bir modül olarak tüketici olarak kullanmayı haklı çıkaramıyorum. Örneğin, bir kitaplık derlemek istemediğim LESS/SASS dosyalarını kullanabilir. –

+0

Tüm bu * css * stil dosyaları, nihai tüketici projesinin bir parçası haline gelmeli ve nasıl paketlendiklerini seçmelidirler (tek dosya veya bölünmüş vb) – basarat

+0

Bu benim kastettiğim şey değil. Eğer bir kütüphane kurucuysa, SASS gibi işleme ihtiyaç duyan birçok teknoloji kullanabilirim. Bu, bu işleme sahip olmanın yükünü almak istemeyeceği için kütüphane tüketicisinin sorumluluğunda olmamalıdır.Bu, kütüphane geliştiricisinin, TS ve SASS değil, sade JS ve CSS olan bir şey çıkarması gerektiği anlamına gelir. –