Bu, TypeScript 1.8.10 kullanan daha yeni bir cevaptır:
Proje yapım:
|
|--- src
|--- test
|--- dist <= My gulp file compiles and places the js, sourcemaps and .d.ts files here
| |--- src
| |--- test
|--- typings
.gitignore
.npmignore
gulpfile.js
package.json
README.md
tsconfig.json
tslint.json
typings.json
.npmignore
Gereksiz dosyaları dahil etmemek ve paketin içe aktarılması ve çalışması için minimum düzeyde kalması için aşağıdakileri ekledim :
node_modules/
*.log
*.tgz
src/
test/
gulpfile.js
tsconfig.json
tslint.json
typings.json
typings
dist/test
Benim .gitignore
var:
typings
# ignore .js.map files
*.js.map
*.js
dist
Benim package.json
var:
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Şimdi koşuyorum:
npm pack
Ortaya çıkan dosya (sıkıştırılmış haldeyken) aşağıdaki yapıya sahiptir:
|
|--- dist
| |--- src
| |
| index.js
| index.js.map
| index.d.ts
|
package.json
README.md
Şimdi bunu kütüphane olarak kullanmak istediğim projeye gidip şunu yazıyorum:
npm install ./project-1.0.0.tgz
Başarıyla kurulur.
Şimdi index.ts
projemde npm'yi yeni kurduğum
bir dosya oluşturuyorum
import Project = require("project");
Yazmak Project.
bana tüm bu alıştırmanın amacı olan Intellisense seçeneklerini veriyor.
Umarım bu, başka birinin TypeScript npm projelerini daha büyük projelerinde dahili kitaplıklar olarak kullanmasına yardımcı olur.
Not: Ben diğer projelerde kullanılabilecek npm modülleri projeleri derleme bu yaklaşım anımsatan olduğuna inanıyoruz .dll
içinde .NET
dünyada. Projelerin VS Kodunda bir Çözümde organize edildiğini ve her projenin bir npm paketi ürettiği ve daha sonra çözümde bağımlılık olarak başka bir projede kullanılabileceğini hayal edebiliyorum.
Bunu çözmem epey bir zaman aldığından, birinin burada takılıp kalması ihtimaline karşı yazdım.
Ayrıca bunu kapalı bir hata için şu adreste yayınladım:
https://github.com/npm/npm/issues/11546
Bu örnek Github'a yüklendi: vchatterji / tsc-seed