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또는 ArrayString

패키지를 사용하는 데 필요한 기본 작동 파일입니다. 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.