如何指定用于bower组件的默认文件,以便grunt-bower-install正确注入?{/ p>
我正在使用datejs,根据您的本地化,他们有不同的文件。我想要包含的文件不在bower_components / datejs目录的根目录中,所以我收到错误:
datejs未在您的文件中注入。
请去看看 “app / bower_components / datejs”表示您需要的文件,然后手动完成 将它包含在您的文件中。
我正努力避免将datejs硬编码到我的索引文件中,并且不想将“date-en-US.js”文件移动到datejs目录的根目录中。
这是datejs凉亭组件的结构。
bower_components
└── datejs
└── build
└── ...
└── date-en-US.js
└── ...
└── src
└── test
如果这有帮助,这是位于datejs bower组件路径中的.bower.json文件:
{
"name": "datejs",
"homepage": "https://github.com/datejs/Datejs",
"_release": "7bdddb55d6",
"_resolution": {
"type": "branch",
"branch": "master",
"commit": "7bdddb55d69719e42c358c3a2b7df706ff3090f8"
},
"_source": "git://github.com/datejs/Datejs.git",
"_target": "*",
"_originalSource": "datejs",
"_direct": true
}
答案 0 :(得分:7)
派对有点晚,但您可以覆盖回购的主要属性,以定义要注入应用程序的任何文件。为此,您需要使用您的 overrides
中的bower.json
属性。
试试这个:
{
"name": "name",
"version": "x.x.x",
"dependencies": {
"datejs": "x.x.x"
},
"overrides": {
"datejs": {
"main": "build/date-en-US.js"
}
}
}
答案 1 :(得分:3)
我也被这几次感到沮丧。我在我的案例中发现的是“grunt bower-install”需要在.bower.json中输入一个“main”条目。它是一个字符串或字符串数组,指向应安装的相关JS和/或CSS文件。
在你的情况下,我没有看到“主”,并建议你创建一个包含所需datejs文件的。如果你打算使用grunt进行缩小/等,我会建议源文件。您可以查看其他成功的组件以查看“主要”条目的示例。
我怀疑某些组件没有提供条目,因为它们没有单一的使用模式(即你可以混合和匹配你需要的文件),但这只是我的猜测。
答案 2 :(得分:1)
尝试在grunt文件中添加:
'bower-install': {
fileTypes: {
fileExtension: {
detect: {
typeOfBowerFile: /-en-US.js/
}
}
}
}
我没有尝试过,我的正则表达式可能已经关闭了。但是根据grunt-bower-install readme,它会指出See [wiredep's](https://github.com/stephenplusplus/wiredep) readme for more options of customization
并使用上述配置显示。
基本上 - grunt-bower-install
不知道要寻找什么。此选项似乎告诉它该信息。