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

6
我正在使用create-react-app进行开发,并发现它将所有的包都放在了普通的“dependencies”中。我构建了应用程序,发现'build'文件夹大小为2.66 MB。
然后我手动将不需要在生产环境中使用的包移动到“devDependencies”中,并再次构建,但'build'文件夹大小仍然是2.66 MB。
是否有一些逻辑在webpack.prod.js文件中,即使所有的包都列在“dependencies”下,也知道哪些是必需的?
如果是这样,那么在package.json中使用“devDependencies”仍然有一些好处吗?

1个回答

13
当webpack构建您的项目时,它确定您的项目依赖的所有内容,从入口文件开始,然后组合、缩小等等,并忽略其他所有内容。
例如,如果 "index.js" 是您的入口文件并且它依赖于 "moment.js",则无论它是依赖项还是devDependency,"moment.js"都将包含在构建中。
这样做的原因是npm区分依赖关系和devDependencies,而webpack仅区分所需和不需要的内容。 > 如果这样的话,package.json中还使用“devDependencies”是否有一些好处呢?
我仍然使用devDependencies,但仅作为调整package.json的手段。但是,在构建生产站点/应用程序时,所有内容都可以安全地放在dependencies中,只要使用像webpack这样的工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接