【发布时间】:2016-07-23 13:12:41
【问题描述】:
首先,我知道我应该避免使用 Bower,而是使用 NPM 来管理我所有的 JavaScript 依赖项。但是,我正在处理一些大量使用 Bower 的遗留代码,在我可以将所有内容转移到 NPM 之前,我希望使用 Bower 和 Webpack 获得我的代码库的工作版本。
话虽如此,我正在按照官方指南中使用 Bower 和 Webpack 的配置设置:https://webpack.github.io/docs/usage-with-bower.html
特别是,我建立了一个 Github 存储库,我可以在其中 bower install jquery 并使用官方指南中的配置,我可以在我的源代码中使用 require("jquery") 并让它与 Webpack 一起使用。鉴于这适用于 jQuery,我认为它适用于其他 bower 包,包括 React。
但是,在运行 bower install react 之后,我尝试在我的源代码中使用 require("react"),但 Webpack 抛出了一个错误,提示 Module not found: Error: Cannot resolve module 'react' in /Users/wmock/Desktop/using-bower-with-webpack/src。
这是我的 Github 仓库: https://github.com/fay-jai/Using-Bower-Through-Webpack
我有 3 个分支:
- “jquery-working”分支遵循官方指南中的配置,并与通过 Bower 安装的 jQuery 配合使用。
- “jquery-react-not-working”分支与上面的配置相同,但通过 Bower 安装了 React。 这不起作用。
- “master”分支具有通过 Bower 安装的 jQuery 和 React 的工作版本,但它不遵循官方 Webpack 文档中指定的配置设置。
问题:
- 有没有办法让“jquery-react-not-working”分支工作?换句话说,有没有办法遵循官方文档并让像 React 这样的凉亭包与 Webpack 一起使用?
- 使用“master”分支中指定的方法有什么缺点吗?这是将 Bower 与 Webpack 结合使用的更优选方式吗?
编辑(2016 年 4 月 12 日):
- DirectoryDescriptionFilePlugin 似乎无法处理文件名数组,这就是“jquery-react-not-working”分支不起作用的原因。
- 我很想听到关于我的第二个问题的更多答案,但我的直觉告诉我,使用“master”分支中指定的方法并不理想,因为:a)您必须手动为每个库设置别名,并且 b)您如果多个库也使用相同的底层库,则可能会遇到版本冲突。
【问题讨论】:
标签: javascript jquery reactjs webpack bower