我知道这是一个非常简单的问题,但我还没有看到任何像这样简单的问题/答案。我正在尝试确定 jQuery 是否值得保留在我的 React 应用程序中,并且我几乎完全将它用于 ajax。 webpack 是否足够智能,可以仅在 bundle 中包含 jQuery 的 ajax 部分?
最佳答案
不,webpack 不仅会在您的包中包含 jquery 的 ajax 部分,即使您使用的是 Webpack 2(webpack 1 及之前的版本不实现树摇动;也就是说,整个模块将包含在您的包中,而不仅仅是您导入的那些)这是因为 jquery 在 NPM 中的销售方式:作为一个大型 jquery.js 模块。
如果您打算使用 jquery,有一些方法可以仅使用 ajax 模块构建 jquery,但这需要一些手动操作(例如,您不能只执行 import {ajax} from 'jquery'
)。 lodash 有一个 babel 插件,它在自己的模块中提供每个方法,因此您不必在 webpack 构建中包含所有 lodash。它是一个 babel 插件,因为它依赖于 import { some_method } from 'library'
语法。
如果您正在寻找一个简单的ajax库,我强烈建议使用isomorphic-fetch (在浏览器中,仅使用“whatwg-fetch”)。它使您的代码非常整洁。
关于jquery - Webpack 是否足够智能,可以让 jQuery 变得更轻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41514342/