我已经能够让 webpack 在 bower_components
中查找组件。当 Bower 组件仅包含 .bower.json
而不是 bower.json
文件时,我遇到了问题(请注意,第一个文件名前面带有 >.
).
我的 webpack.config.js
文件的简化版本如下所示:
var ResolverPlugin = require('webpack/lib/ResolverPlugin');
// webpack configuration
module.exports = {
entry: {
app: 'app.js'
},
output: {
filename: '[name].js'
},
resolve: {
modulesDirectories: ['node_modules', 'web_modules', 'bower_components', 'static']
},
plugins: [
new ResolverPlugin(
new ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main'])
)
]
};
我正在尝试使用 jquery.selectBoxIt作为 bower 组件。另一个问题可能是其 .bower.json
文件中缺少 main
字段。无论如何,我已将该文件包含在下面:
// .bower.json
{
"name": "jquery.selectBoxIt",
"homepage": "https://github.com/gfranko/jquery.selectBoxIt.js",
"version": "3.8.1",
"_release": "3.8.1",
"_resolution": {
"type": "version",
"tag": "v3.8.1",
"commit": "ffa615b25ebf4fac392726b17c857d429acf244c"
},
"_source": "git://github.com/gfranko/jquery.selectBoxIt.js.git",
"_target": "~3.8.1",
"_originalSource": "jquery.selectBoxIt",
"_direct": true
}
最佳答案
.bower.json
是 Bower 在依赖解析期间生成的文件。它不等同于 bower.json
,通常不应使用,因为它是 internal文件可能会改变。
如果您只看到 .bower.json
文件,则意味着该包没有 bower.json
(Bower 实际上可以在没有它的情况下工作)。在这种情况下,这意味着您将无法找到“main”属性。
例如jquery.selectBoxIt.js包仅在其 master 分支中具有 Bower.json 文件,但在其发布标签中没有(它可能尚未发布)。当您解决该问题时,Bower 将使用 3.8.1 git 标签,如您在 .bower.json 文件中看到的那样。此标签中没有 Bower.json 文件。
对于此类包,您可能需要考虑其他选项,例如 CommonsJS。
关于node.js - WebPack:如何查找 Bower.json 和 .bower.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28074425/