Skip to content

번역 🌍

이 페이지를 번역하거나 기존 번역을 개선할 수 있습니다.

기여

템플릿

아키텍처가 확립된 프로젝트에서 개발자는 프로젝트와 일관된 새 컴포넌트나 기능을 부트스트랩하고 싶을 수 있습니다. 튜이스트 스캐폴드 템플릿에서 파일을 생성할 수 있습니다. 직접 템플릿을 정의하거나 튜이스트에서 제공하는 템플릿을 사용할 수 있습니다. 다음은 스캐폴딩이 유용할 수 있는 몇 가지 시나리오입니다:

  • 주어진 아키텍처를 따르는 새 기능을 만듭니다: tuist scaffold viper --name MyFeature.
  • 새 프로젝트 만들기: tuist scaffold 기능 프로젝트 --이름 홈

의견 없음

Tuist는 템플릿의 콘텐츠와 템플릿의 용도에 대해 의견을 제시하지 않습니다. 템플릿은 특정 디렉토리에만 있어야 합니다.

템플릿 정의하기

템플릿을 정의하려면 tuist edit를 실행한 다음 Tuist/Templates 아래에 템플릿을 나타내는 name_of_template 라는 디렉터리를 생성하면 됩니다. 템플릿에는 템플릿을 설명하는 매니페스트 파일( name_of_template.swift )이 필요합니다. 따라서 framework 라는 템플릿을 만드는 경우 Tuist/Templatesframework 라는 새 디렉터리를 만들고 framework.swift 라는 매니페스트 파일을 만들어야 합니다:

swift
import ProjectDescription

let nameAttribute: Template.Attribute = .required("name")

let template = Template(
    description: "Custom template",
    attributes: [
        nameAttribute,
        .optional("platform", default: "ios"),
    ],
    items: [
        .string(
            path: "Project.swift",
            contents: "My template contents of name \(nameAttribute)"
        ),
        .file(
            path: "generated/Up.swift",
            templatePath: "generate.stencil"
        ),
        .directory(
            path: "destinationFolder",
            sourcePath: "sourceFolder"
        ),
    ]
)

템플릿 사용

템플릿을 정의한 후에는 scaffold 명령어에서 템플릿을 사용할 수 있습니다:

bash
tuist scaffold name_of_template --name Name --platform macos

Mise란?

플랫폼은 선택적 인자이므로 --platform macos 인수 없이 명령을 호출할 수도 있습니다.

.문자열.파일 이 충분한 유연성을 제공하지 않는 경우 .파일 케이스를 통해 스텐실 템플릿 언어를 활용할 수 있습니다. 그 외에도 여기에 정의된 추가 필터를 사용할 수도 있습니다.

문자열 보간을 사용하면 위의 \(nameAttribute) 으로 해석됩니다. 템플릿 정의에서 스텐실 필터를 사용하려는 경우 해당 보간을 수동으로 사용하고 원하는 필터를 추가할 수 있습니다. 예를 들어 { { 이름 | 소문자 } }을 사용할 수 있습니다. (nameAttribute) 대신 를 사용하여 이름 속성의 소문자 값을 가져올 수 있습니다.

전체 폴더를 지정된 경로에 복사할 수 있는 .디렉토리 를 사용할 수도 있습니다.

프로젝트 설명 도우미

템플릿은 프로젝트 설명 도우미를 사용하여 여러 템플릿에서 코드를 재사용할 수 있도록 지원합니다.

Released under the MIT License.