ember-cli를 사용하여 포드 구조를 사용하여 구성 요소를 생성하는 방법

위 질문에 대한 답은 ember generate component component-name --pods --no-path
내가 조금 백업해야 할 수도 있습니다.

저는 현재 약 1년 동안 전임자 프로젝트를 풀타임으로 진행하고 있습니다. 나는 확실히 고전적인 스타일보다 포드 스타일의 파일 레이아웃을 선호합니다.

익숙하지 않은 경우 클래식 스타일의 파일 구조는 다음과 같습니다.

app/
|-- components/
    |-- tags.js
    |-- tags.hbs
|-- controllers/
    |-- post.js
|-- models/
    |-- post.js
|-- routes/
    |-- post.js
|-- templates/
    |-- post.js
|-- app.js
|-- index.html
|-- router.js


포드는 다음과 같습니다.

app/
|-- components/
    |-- tags.js
    |-- tags.hbs
|-- post/
    |--controller.js
    |--route.js
    |--template.js
|-- app.js
|-- index.html
|-- router.js


포드 구조는 생각하고 탐색하기가 훨씬 더 쉬운 엔터티 유형 대신 기능별로 파일 시스템을 구성합니다.
ember-cli를 사용하여 다음을 위해 파일을 스캐폴드할 수 있습니다.
  • 노선
  • 컨트롤러
  • 템플릿
  • 회원 데이터 파일

  • 명령ember generate entity-type feature-name은 올바른 디렉토리에 올바른 파일을 스캐폴드합니다. 포드 구조를 사용하려면 --pods 옵션을 ember generate 명령에 전달해야 합니다.
    ember generate route feature-nameroute.js 디렉토리 안에 새로운 feature-name 파일을 생성합니다. 디렉토리가 존재하지 않으면 생성됩니다. 이 명령은 tests/unit/feature-name/route-test.js에서 테스트 파일도 생성합니다.

    다음과 같이 .ember-cli 구성 파일을 업데이트할 수도 있습니다.

    // .ember-cli
    {
        "usePods": true
    }
    

    --pods 구성과 함께 "usePods": true 인수를 전달하려고 하면 ember-cli가 둘 다 사용하지 않는다는 경고를 표시합니다. 나머지 예제에서는 --pods 플래그를 사용합니다.

    내가 가진 문제는 구성 요소를 만들려고했지만 component.js 파일이나 template.hbs 파일이 /components 디렉토리 안에 생성되는 것을 원하지 않았습니다. 아마도 이것은 나쁜 생각일 것입니다. 그렇다면 인터넷에서 알려줄 것입니다.
    --path 옵션은 문자열을 인수로 받아들입니다. 이를 사용하여 파일 경로를 전달할 수 있습니다. 전달된 파일 경로는 /app 디렉토리에 상대적이어야 합니다.

    app/
    |-- post/
        |-- controller.js
        |-- route.js
        |-- template.js
    |-- app.js
    |-- index.html
    |-- router.js
    


    포스트 디렉토리 안에 author-info 컴포넌트를 생성하려면 ember-cli 명령은 다음과 같습니다.
    ember g component author-info --pods --path="post"
    app/
    |-- post/
        |-- author-info/
            |-- component.js
            |-- template.hbs
        |-- controller.js
        |-- route.js
        |-- template.js
    |-- app.js
    |-- index.html
    |-- router.js
    


    하지만 /post 와 같은 수준에서 구성 요소를 만들고 싶다면 어떻게 해야 합니까?
    ember generate component my-component --pods --path=""
    빈 문자열을 인수로 전달하기만 하면 됩니다. 그러면 아래 파일 구조가 생성됩니다.

    app/
    |-- my-component/
        |-- component.js
        |-- template.js
    |-- post/
        |-- author-info/
            |-- component.js
            |-- template.hbs
        |-- controller.js
        |-- route.js
        |-- template.js
    |-- app.js
    |-- index.html
    |-- router.js
    

    --path="" 에 대한 별칭도 있습니다. 그것은 --no-pathember generate component my-component --pods --no-path

    좋은 웹페이지 즐겨찾기