Webpack:还需要 package.json 'devDependencies' 吗?

Webpack: Is package.json 'devDependencies' needed anymore?

我在玩 create-react-app 并发现它确实将所有包放在正常 "dependencies" 下。我构建了该应用程序,发现 'build' 文件夹大小为 2.66 MB。

然后我手动将生产中不需要的包移动到"devDependencies"并重新构建,但是'build'文件夹大小仍然是2.66 MB。

webpack.prod.js 文件中是否有一些逻辑,即使所有包都列在 "dependencies" 下,它也知道需要什么?

如果是这样,在 package.json 中使用 "devDependencies" 是否还有一些好处?

当 webpack 构建你的项目时,它会确定你的项目所依赖的一切,从入口文件开始,然后进行组合、丑化等等,而忽略其他一切。

例如,如果 index.js 是您的入口文件并且它依赖于 moment.js,则 moment.js 将包含在您的构建中,无论它是依赖项还是 devDependency。

原因是npm区分依赖和devDependencies,而webpack只区分需要和不需要的。

If so, is there still some benefits using "devDependencies" in package.json?

我仍然使用 devDependencies,但只是作为订购我的 package.json 的一种方式,但是当使用诸如 webpack 之类的工具来构建产品时,一切都可以安全地处于依赖关系中 site/app