6

我需要一种方法来定义我需要从凉亭组件中获得的文件。在bower.json组件中,我需要的文件未在main设置中指定。我想要一种将文件符号链接或从 bower 复制到另一个目录资产目录的方法。我使用 Grunt,但没有找到任何可以提供帮助的东西。我很想通过某种方式定义所有文件json

抱歉,如果这不完全值得 stackoverflow,但我真的很想找到存在的东西而不是重新发明轮子。

我在这里找到了这段代码,但我不知道如何使用它。这将是理想的。

"dependencies": {
  "font-awesome": ">= 3.2.1"
},
"overrides": {
  "font-awesome": {
    "main": [
      "css/font-awesome.min.css",
      "font/FontAwesome.otf",
      "font/fontawesome-webfont.eot",
      "font/fontawesome-webfont.svg",
      "font/fontawesome-webfont.ttf",
      "font/fontawesome-webfont.woff"
    ]
  }
}
4

3 回答 3

10

我个人做和推荐的是.bowerrc在您的项目根目录中创建一个文件,其中包含 postinstall移动资产的说明:

{
  "scripts": {
    "postinstall": "mv ./bower_components/path/to/my.js ./path/to/ideal/location/my.js"
  }
}
于 2014-07-07T18:04:43.240 回答
4

看看grunt-bower-task。文档在高级用法下建议了这一点:

此时“Bower 包”=“它的 git 存储库”。这意味着该软件包包括测试、许可证等。Bower 的社区积极讨论了这个问题(GitHub 问题 #46、#88,在 Google Groups 上)这就是为什么你可以找到启发这个项目的 blittle/bower-installer 等工具的原因。

好的,如果您想要 ./lib 目录中的多个“主”文件,则将“exportsOverride”部分放入您的 bower.json:

{
  "name": "simple-bower",
  "version": "0.0.0",
  "dependencies": {
    "jquery": "~1.8.3",
    "bootstrap-sass": "*",
    "requirejs": "*"
  },
  "exportsOverride": {
    "bootstrap-sass": {
      "js": "js/*.js",
      "scss": "lib/*.scss",
      "img": "img/*.png"
    },
    "requirejs": {
      "js": "require.js"
    }
  }
}

grunt-bower-task 将完成其余的工作。

于 2013-10-08T20:25:25.320 回答
2

我一直在bower-installer成功使用,这可能对那些不使用 Grunt 的人感兴趣。

Font Awesome 需要额外的处理,因为 CSS 文件使用相对路径(例如../fonts/)。

{
  "dependencies": {
    ...
  },
  "install": {
    "path": "webroot/components",
    "sources": {
      "font-awesome": {
        "mapping": [
          {"bower_components/font-awesome/css/font-awesome.css": "font-awesome.css"},
          {"bower_components/font-awesome/fonts/fontawesome-webfont.eot": "../fonts/fontawesome-webfont.eot"},
          {"bower_components/font-awesome/fonts/fontawesome-webfont.svg": "../fonts/fontawesome-webfont.svg"},
          {"bower_components/font-awesome/fonts/fontawesome-webfont.ttf": "../fonts/fontawesome-webfont.ttf"},
          {"bower_components/font-awesome/fonts/fontawesome-webfont.woff": "../fonts/fontawesome-webfont.woff"},
          {"bower_components/font-awesome/fonts/FontAwesome.otf": "../fonts/FontAwesome.otf"}
        ]
      }
    }
  }
}
于 2014-09-28T08:55:18.603 回答