이것은 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 프로젝트를 사용하는 데 도움이되기를 바랍니다.
추신 : 다른 프로젝트에서 사용할 수있는 npm 모듈로 프로젝트를 컴파일하는 이러한 접근 방식이 세계 의 것을 연상 시킨다고 생각 .dll
합니다 .NET
. 각 프로젝트가 npm 패키지를 생성하여 솔루션의 다른 프로젝트에서 종속성으로 사용할 수있는 VS Code의 솔루션으로 구성되는 프로젝트를 상상할 수 있습니다.
이것을 알아내는 데 상당한 시간이 걸렸기 때문에 누군가가 여기에 갇힐 경우를 대비하여 게시했습니다.
또한 닫힌 버그에 대해 https://github.com/npm/npm/issues/11546에 게시했습니다.
이 예제는 Github에 업로드되었습니다 : vchatterji / tsc-seed