做bower init时的"主文件"属性是什么?

rau*_*o21 106 bower

运行bower init时,属性主文件的用途是什么?我一直在寻找,很多人说它目前没有任何意义.

真的吗?Bower的文档也没有解释.

Kel*_*ews 60

根据Bower.io文档

主要

推荐类型:String或String数组

使用您的包所需的主要代理文件.虽然Bower不直接使用这些文件,但它们与命令bower list --json andbower list --paths一起列出,因此它们可以被构建工具使用.

应编译像CoffeeScript这样的预处理器文件.不要包含缩小的文件.不应对文件名进行版本控制(错误:package.1.1.0.js; Good:package.js).

我认为它更适用于包管理,并构建像Grunt和Brunch这样的工具.例如,Bootstrap的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"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我在Brunch中构建时,它会从我bower_components文件夹中的public文件夹中提取这些文件.

  • 这并没有真正回答这个问题.该文档未阐明"包的主要端点"的作用.你已经说明了主要与早午餐的相关性,但没有说明它与鲍尔的关系. (5认同)

Viv*_*cer 9

根据Bower的JSON规范(https://github.com/bower/spec/blob/master/json.md#main),"main "属性用于列出主要在项目中使用的文件.Bower实际上并未以任何方式使用所列出的文件,它们显然是出于其他构建工具使用的目的.

这是官方规范:

主要

推荐
类型:StringArrayString

使用您的包所需的主要代理文件.虽然鲍尔不直接使用这些文件,它们列出与命令bower list --jsonbower list --paths,这样他们就可以通过构建工具使用.

  • 应该编译像CoffeeScript这样的预处理器文件.
  • 不要包含缩小的文件.
  • 文件名不应该被版本化(Bad:package.1.1.0.js; Good:package.js).