在我的react应用程序(使用webpack)中,我使用了antd用户界面,它在我的project.but中添加了草稿- js 包,我不知道我在哪里使用了draft.js。
我有两个问题。
我怎么知道我在哪用草稿的。
2-draft.js增加了bundle文件的大小。我从node_modules中删除了draft-js,它显示了错误的“草案-js”没有找到。
package.json
"dependencies": {
"antd": "^3.10.9",
"axios": "^0.18.0",
"bundle-loader": "^0.5.6",
"express-static-gzip": "^1.1.3",
"moment": "^2.22.1",
"node-sass": "^4.7.2",
"normalize.css": "7.0.0",
"npm": "^6.1.0",
"rc-time-picker": "^3.3.1",
"react": "16.0.0",
"react-dom": "16.0.0",
"react-ga": "^2.5.3",
"react-google-maps": "^9.4.5",
"react-loadable": "^5.5.0",
"react-redux": "^5.0.7",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"recompose": "^0.27.1",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0"
},

immutable.js安装了两次,另一件事是,在做了gzip之后,、and、和@ant-designed库也增加了my bundle的大小。
那我该怎么解决这些烂摊子。
发布于 2018-12-01 22:29:57
要回答您的主要问题,草稿-js是应用程序的一个传递依赖项。要确定它在哪里使用,您需要查看依赖于它的直接依赖项的代码(最好是源代码)。在这种情况下,将是antd@^3.10.9。
虽然有具体的例外情况,但通常不可能有直接的依赖关系而不依赖于其依赖项。
为了解决在不同版本中多次安装ImmutableJS的问题,应用相同的逻辑。当两个或多个依赖项对同一包的不重叠版本具有传递依赖关系时,最终将安装该包的多个版本。如果没有这种行为,就无法依赖您的依赖来工作。
换句话说,将单个包的不兼容版本视为单独的逻辑包。
话虽如此,使用某些工具(如RequireJS和SystemJS等)可以覆盖传递依赖,例如强制它们使用共享版本的ImmutableJS。但是,这种方法虽然功能强大,但必须非常小心地使用,因为它们可能确实取决于它们最初指定的版本的特定行为。
https://stackoverflow.com/questions/53575494
复制相似问题