创建新项目create-react-app并运行yarn eject。
create-react-app
yarn eject
我的package.json的依赖项部分如下所示:
"dependencies": { "autoprefixer": "7.1.1", "babel-core": "6.25.0", "babel-eslint": "7.2.3", "babel-jest": "20.0.3", "babel-loader": "7.0.0", "babel-preset-react-app": "^3.0.1", "babel-runtime": "6.23.0", etc.
我会说这些都是devDependencies为什么create-react-app将它们放在这里?
devDependencies
这是最新版本之一中的有意更改。
对于产生静态捆绑包的前端应用程序,此区别是相当任意的。从技术上讲,你不需要 任何 这些相关的服务器上,甚至没有运行的。因此,按照这种逻辑,甚至react可以将其视为开发依赖项。
react
我们过去曾尝试将它们分开,但如上所述,起初并不一致。没有技术原因为什么这种区别对没有Node运行时的应用有用。此外,它还曾对某些Heroku部署造成问题,这些部署没有安装开发依赖项(因此无法在服务器上构建项目或无法在部署之前进行测试)。
最后,我们仅将所有内容放入依赖项中。如果您不同意,可以随时package.json按照您认为合理的方式重新安排。
package.json