bower init를 수행 할 때 "주 파일"속성은 무엇입니까?


106

bower init를 실행할 때 속성 주 파일 의 용도는 무엇입니까 ? 나는 찾고 있었고 많은 사람들이 현재 목적이 없다고 말합니다.

사실인가요? Bower의 문서도 그것을 설명하지 않습니다.


3
이것에 대해 다른 사람들도 혼란스러워하는 것 같습니다. 예이 정자 튜토리얼의 작가에 대한 net.tutsplus.com/tutorials/tools-and-tips/...
— 사이먼 벵 트손

main속성 의 정의 가 현재 의문의 여지가 있으며 bower github repo의 공개 된 문제에서 논의되고있는 것으로 보입니다 . 현재 제안 된 정의와 토론을 여기에서 찾으십시오. github.com/bower/bower/issues/935
— BenjaminGolder

답변:


60

Bower.io 문서 에 따르면

본관

권장 유형 : 문자열 또는 문자열 배열

패키지를 사용하는 데 필요한 기본 작동 파일입니다. Bower는 이러한 파일을 직접 사용하지 않지만 bower list --json 및 bower list --paths 명령과 함께 나열되므로 빌드 도구에서 사용할 수 있습니다.

CoffeeScript와 같은 전 처리기 파일은 컴파일해야합니다. 축소 된 파일을 포함하지 마십시오. 파일 이름은 버전을 지정하지 않아야합니다 (Bad : package.1.1.0.js; Good : package.js).

나는 그것이 패키지 관리에 더 가깝다고 생각하고 Grunt 및 Brunch와 같은 도구를 빌드합니다. 예를 들어 부트 스트랩은 bower.json다음과 같습니다.

{
  "name": "bootstrap",
  "version": "3.0.3",
  "main": [
    "./dist/css/bootstrap.css",
    "./dist/js/bootstrap.js",
    "./dist/fonts/glyphicons-halflings-regular.eot",
    "./dist/fonts/glyphicons-halflings-regular.svg",
    "./dist/fonts/glyphicons-halflings-regular.ttf",
    "./dist/fonts/glyphicons-halflings-regular.woff"
  ],
  "ignore": [
    "**/.*",
    "_config.yml",
    "CNAME",
    "composer.json",
    "CONTRIBUTING.md",
    "docs",
    "js/tests"
  ],
  "dependencies": {
    "jquery": ">= 1.9.0"
  }
}

Brunch에서 빌드하면 내 bower_components폴더의 내 폴더에서 이러한 파일을 가져옵니다 public.


무슨 "문서"?
— 0xcaff 2014

5
이것은 실제로 질문에 대한 답이 아닙니다. 설명서에는 "패키지의 기본 엔드 포인트"의 역할이 명확하지 않습니다. 브런치와 메인의 관련성을 언급했지만 Bower와의 관련성은 언급하지 않았습니다.
— BenjaminGolder

내가하려는 요점은 "내 보워 패키지가 배포하려는 파일들"과 관련하여 주요 파일이 여러 빌드 도구에서 활용된다는 것입니다. 진정한 의도에 대해서는 여전히 약간 모호합니다.
— Kelly J Andrews

문서 링크의 앵커가 죽었습니다. 업데이트는 @Vivian Spencer의 답변을 참조하십시오.
— Timothy Gu

9

Bower의 JSON 사양 ( https://github.com/bower/spec/blob/master/json.md#main )에 따르면 "main"속성은 프로젝트에서 주로 사용되는 파일을 나열하는 데 사용됩니다. 나열된 파일은 실제로 어떤 식 으로든 Bower에서 사용되지 않으며 다른 빌드 도구에서 사용하기위한 목적으로 존재합니다.

공식 사양은 다음과 같습니다.

본관

권장
: 유형 String또는 Array의String

패키지를 사용하는 데 필요한 기본 작동 파일입니다. Bower는 이러한 파일을 직접 사용하지 않지만 bower list --json및 명령 과 함께 나열 bower list --paths되므로 빌드 도구에서 사용할 수 있습니다.

  • CoffeeScript와 같은 전 처리기 파일은 컴파일해야합니다.
  • 축소 된 파일을 포함하지 마십시오.
  • 파일 이름은 버전이 지정되지 않아야합니다 (Bad : package.1.1.0.js, Good : package.js).

1
일부 라이브러리는 메인 파일이 나열되지 않으면 작동하지 않습니다. wiredep이 완벽한 예입니다.
— kboom

@kboom 나는 당신이 말하는 것과 관련된 문제가있을 수 있습니다 : 예를 들어 pdf.js-viewer의 css 파일은 main-bower-files를 사용하여 복사하지 않을 것입니다. 그렇다면 실제로 각 파일의 전체 경로를 제공해야합니까? 감사!
— trainoasis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.