これは、TypeScript 1.8.10を使用したより最近の回答です。
私のプロジェクト構造は:
|
|--- 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
無関係なファイルが含まれるのを避け、パッケージをインポートして機能させるために最低限の状態を保つために、以下を追加しました。
node_modules/
*.log
*.tgz
src/
test/
gulpfile.js
tsconfig.json
tslint.json
typings.json
typings
dist/test
私.gitignore
は持っています:
typings
# ignore .js.map files
*.js.map
*.js
dist
私package.json
は持っています:
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
今私は実行します:
npm pack
結果のファイル(解凍した場合)の構造は次のとおりです。
|
|--- dist
| |--- src
| |
| index.js
| index.js.map
| index.d.ts
|
package.json
README.md
これをライブラリとして使用するプロジェクトに移動して、次のように入力します。
npm install ./project-1.0.0.tgz
正常にインストールされます。
次にindex.ts
、npmをインストールしたプロジェクトに
ファイルを作成します
import Project = require("project");
タイピングProject.
により、この演習全体のポイントとなったIntellisenseオプションが得られます。
これが他の誰かがTypeScript npmプロジェクトを大きなプロジェクトの内部ライブラリとして使用するのに役立つことを願っています。
PS:他のプロジェクトで使用できるnpmモジュールにプロジェクトをコンパイルするこのアプローチは.dll
、.NET
世界を彷彿とさせると思います。各プロジェクトがnpmパッケージを生成し、ソリューションの別のプロジェクトで依存関係として使用できるVSコードのソリューションでプロジェクトが編成されていることはよく想像できます。
私がこれを理解するのにかなりの時間がかかったので、誰かがここで動けなくなった場合のために私はそれを投稿しました。
また、クローズしたバグについては、https://github.com/npm/npm/issues/11546に投稿しました
。
この例はGithubにアップロードされています:vchatterji / tsc-seed