Webpack:package.json 'devDependencies'不再需要了吗?



我正在玩create-react-app,发现它确实将所有包置于正常的"依赖项"下。我构建了该应用程序,发现"构建"文件夹大小为 2.66 MB。

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

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

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

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

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

这样做的原因是 npm 区分了依赖关系和 devDependencies,而 webpack 只区分需要的和不需要的。

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

我仍然使用 devDependencies,但只是作为订购我的 package.json 的一种方式,但是当使用 webpack 等工具来构建生产站点/应用程序时,一切都可以安全地存在于依赖项中

最新更新