从凉亭组件中删除符号链接或复制文件

时间:2013-10-08 15:26:32

标签: json gruntjs bower

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

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

我发现此代码here,我不知道如何使用它。这将是理想的。

"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"
    ]
  }
}

3 个答案:

答案 0 :(得分:10)

我亲自做的事情&建议在项目根目录中创建一个.bowerrc文件,其中包含移动资产的postinstall说明:

{
  "scripts": {
    "postinstall": "mv ./bower_components/path/to/my.js ./path/to/ideal/location/my.js"
  }
}

答案 1 :(得分:4)

看看grunt-bower-task。文档建议使用高级用法:

  

此时“Bower package”=“它的git存储库”。它的意思是   该套餐包括测试,许可证等.Bower的社区积极参与   讨论了这个问题(GitHub发布#46,#88,在Google网上论坛上)就是这样   为什么你可以找到像blittle / bower-installer这样的工具   启发了这个项目。

     

好的,如果你想在./lib目录中找到“main”以外的文件,那就放了   “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将完成其余任务。

答案 2 :(得分: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"}
        ]
      }
    }
  }
}