2016-07-20 3 views
3

C#에서는 라이브러리 소스가 DLL로 컴파일되는 프로젝트에 정렬됩니다. DLL의 인터페이스는 실제로 라이브러리를 구현하는 클래스 및 함수의 서브 세트를 제공합니다. 라이브러리 외부의 클라이언트가 볼 수없는 개체에는 internal이라는 레이블이 지정됩니다.Typescript에서 C# 프로젝트 구조를 어떻게 모방 할 수 있습니까?

Typescript "DLL"에 해당하는 내용이 궁금합니다. 가져 오기가 포함 된 Typescript 파일은 모듈이며 export을 사용하여 파일을 가져 오려는 파일 만 표시합니다. 그러나 나는 C#의 internal에 해당하는 Typescript에 해당하는 것을 전혀 알지 못합니다.

내가 생각할 수있는 가장 근사치는 Typescript 프로젝트를 컴파일하고 하나의 .js 파일로 묶어서 노출하려는 라이브러리의 일부만을 상위 레벨 내보내기로 내 보냅니다. 의지. 하지만 이런 종류의 프로젝트/워크 플로를 어떻게 만들겠습니까?

저는이 주제에 대해 많은 검색을 수행했으며 많은 정보를 찾지 못했습니다. 어쩌면 내가 잘못된 단어를 사용하고있을 수도 있습니다. 어쩌면 나는 C# 프로그래머와 너무 흡사하게 생각하고있다!

+0

'internal' 전체 코드베이스가 하나의 파일로 축소 된 할 수 있으며 당신이 기대하는 경계의 종류는 C#으로 존재하는 이론부터 자바 스크립트에서 재현하기 어려운 개념이다 Typescript에는 자연적인 대응 물, 특히'내부','보호 된','내부 보호'가 없다. 이 경우에는 수출되지 않은 모듈을'internal' 대신'private'으로 처리하고 수출 된 모든 것이'public' API의 일부라고 기대합니다. –

+0

@DavidL 1을 유지하려고 할 때 어려운 일입니다. 클래스를 파일에 추가하십시오. 프로젝트 크기가 일반 Javascript 라이브러리보다 큰 경우 더욱 어려워집니다. – Craxal

+0

나는 정중하게 의견이 맞지 않아. 일반적으로 내 TypeScript 응용 프로그램 (및 AngularJS 응용 프로그램)은 파일 당 하나의 클래스/구조로 구조화됩니다. 공개적으로 노출 된 API를 최소화하는 '내보내기'기능을 제공합니다. 그리고 당신은 언제나 그것을 더 멀리 가져갈 수 있습니다. 클래스를 모듈로 그룹화하고 dl과 비슷한 것을 제공하는 모듈 내보내기를 통해 API의 하위 집합 만 노출 할 수 있습니다. –

답변

0

것은 내가 타이프 "DLL"에 해당이

처럼 (또한 NPM 모듈라고 함) 노드 모듈을 볼 것입니다 무슨 궁금하네요.

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

+0

이것이 내 질문에 어떻게 대답하는지 잘 모르겠습니다. 나는 그 링크를 따라 갔고, 나는 그것을 빠져 나왔다. "당신의 Typescript를 컴파일하고 .dts를 추가하십시오." – Craxal

관련 문제